# 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
* master:
Double clicking the unread counts now marks a feed as read.
Fixing log for non-requests.
Fixing share bar for tons of sharers.
Cleaning double the analytics.
Reducing page load logging to only abre essentials.
# 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.
...