* master:
Error handling in orphan detection.
Collecting orphaned feeds for users. These somehow got lost, and I'm not sure how. Eventually I'd like to run this on every user account.
Fixing issue around feed titles that disappear. This just confirms that the new feed title is substantive.
Uncommenting Readability sharing. This was written a loooong time ago, but their API is finally ready.
Fixing an issue around mal-formed requests aginst WordPress's Bad Behavior plugin, which checks for the 'Accept: *' header.
Fixing missing folder issue in iOS app. Occurs when user has no feeds in top level, when the Everything psuedo-folder obscures the top folder.
Conflicts:
apps/reader/models.py
* master:
Adding tests in prep for Mother Jones duping.
Fixing rss feed tests.
Adding press story from Italian site Skimbu.
Adding Cuk.ch story about NewsBlur.
* master:
Fixing issue around feeds that are mistakenly declared as not having a page.
New audio control, with Flash fallback for browsers like Firefox/IE.
Conflicts:
assets.yml
* master:
Changing copy on premium/feedchooser dialog.
Styling errors on stripe payment form.
Final stripe.js tweaks before launch.
Adding Pay by Credit Card as an option to feed chooser dialog. Thus concludes Stripe.js integration. Time to launch!
Styling the stripe.js background.
Using correct kwargs for stripe signal.
Wrapping up stripe.js form. Has validation, styling, and does the right thing for new subscriptions. Needs a link to the form, though.
Setting up correct customer model for stripe webhook.
Moving JS assets to bottom of the page for faster loadtimes.
Fixing exception on missing param in feed address searching.
Fixing recommendation date serialization bug.
Fixing bugs around login with blank password using full password. Also fixing bug in signups with no username.
Stripe.js payments using zebra. Adding zebra as a vendored dependency. Webhooks and views all in. Needs styling, custom username and email fields, and loads of testing.
Adding error checking on requests in page fetching.
Using a probability from redis to determine whether or not to skip a fetch.
Allowing any password to be used on accounts with no password set.
Adding paypal logo.
Conflicts:
assets.yml
media/js/newsblur/reader/reader_feedchooser.js
settings.py
templates/base.html
* master:
Allow login from signup form.
Reducing celery prefetch to get more accurate queue sizes.
Removing RabbitMQ dependency. Moving to redis for task queuing.
Counting queue size for celery/redis.
Switching to redis to feed queuing. Also adding a weight for skipping feed fetches under high load.
Skipping feed resurrection.
Fixing last update problem that has been choking feed fetchers.
Fixing last update problem that has been choking feed fetchers.
Typo in feed pool drain.
Adding ability to wind down feed queue by faking requests.
Adding debug message about counting errors.
Conflicts:
fabfile.py
* master:
Fixing starred stories from not loading past the second page due to a missing flag reset.
Fixing user-found bug around tooltips continuing to show if the original dom element (and the reference to the tooltip) are destroyed too early, leaving a tooltip floating in the air.
Geometrically delaying the fetching of bad feeds, while they're still somewhat fresh.
Fixing error codes on statistics. Also fixing simple error on invalid feed.
Update media/js/newsblur/reader.js
Conflicts:
media/js/newsblur/reader/reader.js
* master:
Adding asset-less deployment.
Upgrading feedparser from 5.0.1 to 5.1.
Catching errors in page links with ill-formed urls.
Not showing the world favicon until favicons are downloaded.
Fixing feed exception dialog to actually reload feeds on the page.
Geometrically decaying feed fetches on known good feeds that have gone bad.
Fixing issue around empty original pages.
Conflicts:
media/js/newsblur/reader/reader.js
* master:
Adding build/ back to .gitignore.
Updating .gitignore.
Using dsa pem for retrieving rabbit update counts.
Preserving feed fetch error histories for 2 weeks.
Adding munin graph for known good feeds.
Turning down verbosity on feed tasking.
Adding known good feeds to munin to chart their progress.
Fixing headers overflow in Chrome.
Adding new feeds db column 'known_good', for forcing updates of feeds that were once good but are now throwing 500s.
Adding blogging OT press story.
* master:
Abort old requests and don't cache responses. Trying to fix IE read story bug.
Force jquery to never cache.
Checking for exceptions earlier in order to show fixed site.
Changing user agent to hopefully override overly-sniffy websites.
Fixing inaccurate substitution on feed urls. Ugh, can't believe this was here this long.
Adding the setting of a feed's view settings to Site Settings dialog. This should've been in there a loooong time ago.
* master: (66 commits)
Too many stories? Don't animate transitions when switching intelligence levels.
Fixing typo in iphone app that preventing mark folder as read when the visible stories option was showing.
Updating the mongo db copy util to also look for updated stories.
Globals.is_staff on user, not profile. Make the stats referesh every minute instead of every 10 minutes for staff.
Fixing offsets in river of news.
Adding ciphering to usernames in log, so I can finally take screenshots of the most colorful logs of all time.
Adding my very special mongo serialization backup utility to get around the damn unrepairable mongo database. This is taking 14 hours to run.
Auto-refreshing feedback (1 min for staff, 10 min for everybody).
Fixing exception around multiple feeds during Google Reader import process. Also switching rate limit to status code 429.
Adding Nokia MeeGo client to user agents.
Only show raw feeds in feed autocomplete.
Handling iphone version for new users on ios app.
FIXING THE WORST BUG OF MY LIFE -- finally figured out what was causing the story-shows-as-unread bug. Also fixed enclosures on certain types of feeds.
Fixing menu manage open position to compensate for additional menu items.
Reducing the amount of work done by feed fetching when there are no new stories.
Fixing emergency bug around trimming feeds where the cursor is changing. Dammit mongo.
Simplifying ufw ports in fabfile. Adding env.user.
Launching the iPhone app on the front-page. Big deal.
Minor cleanup of river stories view.
Cleaning up mongoengine imports and settings for default MongoDB.
...
Conflicts:
local_settings.py.template
* master:
Fixing bogus type error, caused by duplicate feeds.
Correcting styling on site settings loader icon.
Removing dupe migration from feed_settings.
Adding migration for unique hashes on feed addresses + links.
Counting subscribers on branched feeds correctly, so as to maintain update frequency, even though it's branched.
Hooking up feed address change nd branching. Also fixing those infernal feed address change bugs for good.
Finishing up feed_link corrections. Just need feed_address (which is essentially a refactor and abstraction of this feed_link code), and then duplicate UI, which is pretty easy. Yay.
Refactoring feed rewriting to take advantage of new feed link changer. Seems to work. Still needs some better duplicate locking during fetch.
Uniqifying address+link hash. Allowing feed_link branches, but it does not yet work. Needs proper dupe detection.
Beginning new branch feed logic. Needs a huge db migration.
Swapping titles on feed settings when necessary.
Swapping rss and website url.
Stubbing out entire feed settings modal. Needs duplicate feed list. Also needs backend splitting of subscriptions.
Adding feed setting menu item. Cleaning up feed exception dialog.
* master:
Revert "Switching to requests from urllib2/httplib. Bring on the page errors."
Fixing #41: Adding REDIS to local_settings.py.template.
Revert "Revert "Switching to requests from urllib2/httplib. Bring on the page errors.""
Revert "Switching to requests from urllib2/httplib. Bring on the page errors."
Switching to requests from urllib2/httplib. Bring on the page errors.
Adding a bunch fo keyboard shortcuts.
Adding elapsed time field to river and feed view.
Fixing autolinking of text links to no longer indiscriminately replace text, causing double encoding of html entities.
Fixing the space bar key to not queue, so it's actually useful now!
Refining media enclosures by adding all types and linking to their source.
Refining media enclosure detection.
* master:
Correcting for feeds that have incorrect media content.
Adding media enclosures in an audio tag.
Using story date when there is no guid.
Using story date when there is no guid.
Adding verbose flag to feed updates to diagnose errors.
Fixing issue with stories that have no permalink.
Conflicts:
apps/rss_feeds/models.py
* master:
Adding 'E' as a keyboard shortcut for the Everything view.
Doubling the amount Space pages in a story.
Auto-linkify urls in stories.
Reading stories from slave db during feed update.
Conflicts:
settings.py