* show blurb for tag sponsors
* check that sponsorhip is live and account for expiration time
* automatically add expiration date to tags
* update tag offering
* rewrite tag auto expiration
* night mode compatibility for sponsor logos
* fix spec
* update specs
* Small css adjustment
* Update specs for doorkeeper test
* Add bang
* Create #authenticate
* Create /api/articles/ endpoint
* Update specs
* Update me.json.jbuilder
* Fix typo and spacing
* Support pagination for #me
* Update #authenticate! to support cookies
* Make per_page a param
* Disable method-complexity check
* Enable refresh_token
* Create /api/users/me endpoint
* Published field for podcasts
* Add podcasts migration
* More specs for podcasts availability
* Show published in podcasts internal
* Update schema.rb with db:migrate
* add org to update listing if bumping
* add credits redirect
* remove unnecessary auth
* fix auth and separate transaction
* update spec to match additional bump logic
* set up refactored onboarding
* create onboarding page
* add in first slide and change slide functionality
* fix test suite
* profile refactor
* profile refactor
* refactor to api
* add checkbox fields
* add checkbox fields
* remove puts
* add basic css
* add styling
* add redirect
* hide back and next at first and last slides
* test refactored onboarding
* test refactored onboarding
* remove article edits
* Fix schema
* Add deleted file back in
* Add default value for checked_t&c column
* Adjust HTML structure to keep nav buttons in place
* Fix ESLint issues on Onboarding.jsx file
* Handling for undefined or empty followedTags on getUserTags
* Fix codeclimate issues
* Fix codeclimate issues
* Fix more codeclimate issues
* Fix more codeclimate issues
* Update Onboarding snapshots
* Uncheck the CoC and T&C checkboxes on render
* Update snapshots
* Return false instead of raising error
* Update spec to use new onboarding
* Redirect to onboarding if haven't seen it yet
* Prevent redirect to onboarding from /signout_confirm
* Use assign_attributes instead of saving twice
* Move COC and T&C checkbox page to second slide
* Add 'go back to original page' functionality
* Reuse ready prototype logic
* Keep track of the last visited onboarding page
* Fix email subscription bug
* Fix overflow issue for tags page
* Remove height to prevent page container scrolling
* Check for CoC and T&C for displaying onboarding
* Add InstantClick redirect and preserve referrer in client
* Fix async update + check by using localStorage
* Turn off onboarding for tests
* Finalize design for onboarding
* Finalize design for onboarding
* Make bulk follows during onboarding
* Fix bulk follow test
* Don't hide podcasts if they have reachable episodes
Recheck episodes' reachability after the podcast status is set to
unreachable
* Update db/schema.rb
* Fix GetEpisodesJob specs
* Fix stories spec
* Episodes are reachable even if the podcast is unreachable
* Improve the Podcast.reachable query
* Fix podcasts root page spec
* Add index concurrently
* Add Sponsorship model
* Add Sponsorship to admin
* Add correct relationships between models
* Add temporary script to migrate sponsorship data
* Use constants for enums
* Use Sponsorship model in PartnershipsController
* Use Sponsorship in the views
* Validate sponsorship levels and tag combos
* Replace the rest of the sponsorship code to use Sponsorship
* Transform GET sign in links into POST
* Ignore CVE-2015-9284 for now
* Update app/views/layouts/_signup_modal.html.erb
Co-Authored-By: Mac Siri <krairit.siri@gmail.com>
* Modify sponsorship copy
* Update sponsorship stuff
* Fix spec and add tag sponsorship
* Add #purchase to Credit
* Assigns spent credits to the listing
* Add Credits::Ledger and use it
* Localize ledger datetimes
* Add organization to the ledger
* Add tests for ledger
* Remove unused class
* Fix scope error
* Compare UTC times
* Fix broken specs
* Wrap listing create in a transaction
* Wrap listings bump into a transaction
* Avoid microseconds issue with datetimes in tests
* Use .detect instead of .select.first
* Fix spec description
* Podcasts reachable status #2952
* Specs for podcasts statuses
* Moved podcast episode create to a separate ActiveJob
* Use RssItemData wrapper in GetEpisode for consistency
* Reorganize services/podcasts