# By ojiikun (8) and others
# Via Samuel Clay (3) and ojiikun (1)
* master:
Handling 0 images found for shared story.
Fixing broken JPG image sizer.
Handling timeouts for feed link change.
Fixing a few small feed collision errors.
Adding feedparser trunk, in case I want more pain.
Fixing feed address change by feed link when colliding with existing feed.
Fixing feed address change by feed link when colliding with existing feed.
Revert change that disabled user images for shared/commented on a story and liked comments
Undoing whitespace changes in APIManager.
Undo whitespace changes in APIClient.
Fully remove redundant sync during login.
Remove extra debug. Add full API logging.
Cleanup comment views.
Prevent force close in SetupCommentSectionTask if there is no data in the reply user cursor.
Added .gitignore so ant files aren't accidentally comiitted.
Clarify shell HOWTO instructions.
Added shell build HOWTO.
Remove extra sync in login frag. Disable favicos. Better Debug.
* master:
Cleaning up counts in munin and work log.
What the f? strip_comments now eats CPU on bad stories. But why now and not a few months ago when I introduced it?
Adding timeout to strip comments.
Using proper hostname for task server. Adding verbosity to feed fetching.
* master:
Adding tasked_feeds set to handle dropped feeds.
Fixing missing feed bug.
Adding new task server role: only new and push feeds.
Fixing munin counts.
* master:
Cleaning up queue migration.
Handling decayed feeds with no more active subscribers. They don't get returned to the scheduled_updates queue until there are enough active users.
Only need next scheduled update.
Fixing feeds that fall through.
Moving task queue from postgres db backed to redis backed.
# By Samuel Clay (12) and Lance Johnson (1)
* master:
Updating postgres config, celery queue.
Boosting feed fetching.
Android: show server error message to user when add feed fails. The error message was being sent when non-premium users tried to search for feeds and was causing the App to crash.
Removing unused feed hash index (keeping the unique constraint).
Adding two indexes and killing one unused one from feeds.
Returning index on active subs.
Changing logging on feed queueing.
Turning off autocomplete for the time being.
Removing unused indexes.
Upgrade to postgres 9.2.
Culling some graphs on feed counts.
Cleaning up week old feeds.
Boosting feed fetching way up for the weekend.
* master:
Fixing stripe reimport
Upping feed fetching by quite a bit.
Fixing double counting stripe payment bug by clearing out striep purchase history when inserting.
* master:
Adding task servers to db firewall.
Adding redis cache. Returning favicon server.
Better munin plugins for redis and mongo.
Removing unused redis keys for shared/comments. Dry-run.
Adding read preference to migration.
Migration to create story_hash for missing feeds.
Making a clearer description of slow feeds.
Upping feed fetches, slowing down fetch interval for less active feeds, setting premium expire time to one year from most recent payment date (as opposed to borked payment gap logic), and adding logginf or tasking feeds.
Switching check for HAProxy'ied socket.io to dev instead of www. Thanks @anaconda!
Sync delay in mongodb and updating story hash migration.
Upping feed fetches.
Fix force close when attempting to fetch a user with a null user.id value
Fix force close updating ProfileActivityFragment if no profile response was received
Move creating ImageLoader in NewsBlurApplication to onCreate to ensure that base context has been set and prevent force close
Boosting fetches.
Fix duplicate requirement
Conflicts:
fabfile.py
* master:
Adding dev and debug to firewall
Adding hyphens to allowed hosts for blurblogs.
Adding X-nginx-server and X-gunicorn-server.
Adding RStats, necessary to remove mongodb analytics.
Fixing firewall setup.
Using secondary mongos for feed fetch histories.
Moving to a single hosts and hosts.yml file, used to control logs, deployment, firewalls, and communication. Awesome!
Moving hosts to secrets.
Cache busting feeds on force and 1% of the time.
Conflicts:
config/nginx.newsblur.conf
* master:
Fixing Google+ sharing.
64 sites, not 12 sites. Doh!
Adding expires header to icons.
Downgrading from Pillow, which is incompatible with PIL.
Pushing feed history deletion to end of stats collection.
Logging feed fetch deletions.
Fixing missing scipy import missing form PILlow.
Last imports for pillow.
Boosting feed fetches.
Upgrading from PIL to Pillow.
Upgrading from PIL to Pillow.
Upgrading from PIL to Pillow.
Adding cached template loader. Adding new mongodb.
Cutting number of feeds for fetching until mongo is sharded.
Conflicts:
fabfile.py
* master:
Using user's username on signup if no password.
Using user's username on signup if no password.
Fixing passwords if left blank.
Patching Django 1.5 to handle underscores in subdomains.
Allowed hosts
Allowed hosts
If not active subs, turn off real-time.
If not active subs, turn off real-time.
Skipping real-time fetch for non-premium active feeds.
Upgrading django 1.5 manage.py.
Upgrade to django 1.5 script. Also handling story lookups with objectids.
Updated Django to always use the latest 1.5 version. Updated django-redis-session to latest version.
Moving HAProxy's config to secrets so I can set a password.
Allowing_hosts for django 1.5.
Upgrading django from 1.3 to 1.5.
Keep Raven from making settings puke.
Added django-redis-sessions to requirements.
Added a check for testing the email address provided during registration and throwing an error if the email address is already associated with an existing account.
Adding revsys fab command.
Froze requirements to make installation a bit easier.
Conflicts:
templates/reader/dashboard.xhtml
templates/social/social_page.xhtml
* master:
Warning on missing maintenance.
Further pushing out feed updates.
Using @dcramer's excellent getsentry.com for all exceptions. Turning off exception emails.
Further pushing down feed fetches to handle load until db is scaled out.
Scrolling code blocks.
New task servers.
Turning down feed fetches.
If requests.raw won't work, sut fudge it with a StringIO for now.
Further turning down feed fetches until mongo is ready to replicate.
Fixing Facebook image calculation.
Fixing facebook posting.
Moving shared story unread recalc to background task. Will greatly speed up sharing.
Ramping down feed fetching until they can be handled.
Only show time breakdown when > 1 sec.
Fixed API docs for /reader/river_stories
make fabfile.py use requirements.txt
Make sure to send the proper content-type with social feeds
Restore default whitespace to pre/code blocks
Phase 2: switching to using story_hash index instead of compound unique story_feed_id/story_guid index.
document keyboard shortcut to add site/folder
Conflicts:
apps/social/views.py
# By Samuel Clay (10) and others
* master:
Further pushing out feed updates.
Using @dcramer's excellent getsentry.com for all exceptions. Turning off exception emails.
Further pushing down feed fetches to handle load until db is scaled out.
Scrolling code blocks.
New task servers.
Turning down feed fetches.
If requests.raw won't work, sut fudge it with a StringIO for now.
Further turning down feed fetches until mongo is ready to replicate.
Fixing Facebook image calculation.
Fixing facebook posting.
Fixed API docs for /reader/river_stories
make fabfile.py use requirements.txt
Make sure to send the proper content-type with social feeds
Restore default whitespace to pre/code blocks
document keyboard shortcut to add site/folder
# By Samuel Clay (70) and adriano petrich (1)
# Via Samuel Clay (3) and adriano petrich (1)
* master: (71 commits)
Adding new task servers.
Activating premiums immediately for stripe users.
Adding X-server to headers to figure out request pinning.
removing dependency to dop.client for common fab tasks
Increase file descriptor limits with fabric.
Opening up gunicorn for use by HAProxy directly.
Naively connecting to real-time socket.io.
Preventing socket.io buildups.
Rewriting HAProxy config to include gunicorn and maintenance. Much better monitoring.
Fixing HAProxy to use http headers so a 502 error code doesn't get served with a 200 status code. I mean seriously, WTF HAProxy?!
Trying out a gunicorn haproxy backend.
Re-upping 12 to 64 free feeds.
Removing Redis state for socket.io. Too many open mongo connections.
Referencing new secret hosts.
Removing hosts.
Adding dev hosts.
Using new secrets repo instead of ignored files.
Fixing homepage copy.
Using redisstore for socketio.
Forcing reconnection for socket.io.
...
* master:
Refactoring fabfile for DO
Moving redis servers for real-time.
Increasing feed fetches quite a bit.
More gunicorn servers.
More gunicorn servers.
Upping gunicorn processes.
Hiding 12 option to cut back on number of new premiums.
Bumping up premium refresh rates.
Tasking only popular feeds for now.
Pushing out feed updates until able to handle the giant influx.