* master:
Fixing scroll for search when loading feed detail.
Fixing multi-word search queries on ios.
Adding search bar to ios.
Adding messaging for premium-only in saved story tags.
Colorizing payment logging.
Colorizing payment logging.
Second typo. Stupid payment code can't be tested offline.
Typo.
Forcing re-sync of payment history on expiration.
Cleaning up payment history logging.
Fixing chooser dialog by forcing it to conform to modernized modal.
Conflicts:
media/js/newsblur/reader/reader_feedchooser.js
* master:
Fixing credit card images. Doh\!
Upping feed fetching.
Removing random interval in feed fetches.
No longer random intervals for dead feeds.
Fixing mark as unread in redis hash migration.
Fix group type caching in FolderList, and much refactoring for readability therein.
Remove special All Stories group and make the now-visible root folder perform it's function.
Formalize top-level folder name workaround.
Nonfunctional refactoring in list adapter (unused vars, method visibilities, annotations).
Fix an initialization edge case in creating column/resource ID mappings.
Fix regression in API to get /reader/feeds and set update_counts to true.
Factor out duplicate code in APIClient to ensure parameterized GETs behave like bare GETs.
Refactor FolderListFragment and associated Adapter.
Fix bad merge.
Remove accidentally added swapfile.
Removed missing root feed workaround. Refactoring FolderListFragment for readability.
Clean up parsing of /reader/feeds response and work around problems with empty-named root folder.
Fix NPE crash when adding new feed.
Conflicts:
apps/rss_feeds/views.py
* master:
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.
* 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