* Reorganize PageViewsController
* Add domain and path to PageView model
* Add before_create callback to populate domain and path
* Add list of referrers to AnalyticsService
* Add referrers to the UI
* Remove useless referrers card and tweak table line height
* Add referrer stats to article stats page
* Add not null and empty default to domain and path
* Refactor JS analytics client
* create_list is a step back here
* Revert "Add not null and empty default to domain and path"
This reverts commit bc02440076047a887c65d300bccd4661ecc8ffd0.
* Add index on domain concurrently
* Make the script more robust
* Add failing tests for social previews controller. HTML changes between
requests, which breaks caching.
Since we use the HTML to generate the cache key. When the views have any
randomness in them, it breaks the cache, which means we regenerate
images on each request, rather than using what's in memcached.
Adding test to protect from regressions
* Fix randomness in social card templates
The aria tags are randomly generated. Since this is for rendering
images, they aren't needed.
* Make the linter happy by using the sanitize helper
This commit increases the tag length from 20 to 30 chars and also increases the cached_tag_list length to maintain the limit of 4 tags. Specs were adapted to respect the changes.
* Add db relationship for comment and notifications
* Use delete instead of destroy
* Add comment's ancestors' data
* Delete descendant notification data appropriately
* Update notifications for comments up the tree as well
* Update descendant notifications appropriately
* Fix apostrophe edge case
* Make ancestor_data method private
* Add backend func. for muting users you follow
* Remove comment
* Add validations and update default value
* Send notifications to followers with all_articles
* adjust validations to allow org admins to edit listings
also adjusted presented elements based on bumped_at dates and published boolean status
* allow org admins to edit listings under diff user_id
adjust statement in edit so that it has to be admin not just member
* pluck via attribute not string of attribute name
* update policy for org admins
* make authorizing org admin for listing private
* update classified listing spec
user_id is required for classified listing
* Add base history support
* Add tags and ranking and make it work
* Fix styling
* Add article title and text excerpt to the index
* Add pagination support
* Debounce the search to 300ms
* Show history only to pro users
* Use routing helpers instead of hardcoding
* Raise the page size to 100
* Remove console log
* A bit of regrouping
* Add MVP of notification subscriptions
* Add rate limiting for notification subscriptions
* Show modal for logged out users on subscribe click
* Add enter key functionality for checkbox
* Add relationships for notification subscriptions
* Add model test for notification subscription
* Deprecated article mutes in favor of notification subscriptions
* Deprecated comment mutes in favor of notification subscriptions
* Move comment muting tests and logic over
* Merge comment and article muting into subscriptions
* Remove redundant check
* Use database to check for rate limit instead of cache
* Test for subscriptions handling notifications properly
* Fix notification model spec for subscriptions
* Fix tests for subscriptions
* Remove rate limiting
* Properly handle logged out users getting subscription status
* Fix test for new pattern
* Update reserved words
* Add config column to notification subscriptions
* Add logic for top level config and move tests
* Test for top level subscribers getting notified
* Fix logic mistake oops
* Add index and refactor comment_user_ids
* Add /stats endpoint for articles, opened only to Pro users
* Add analytics to article stats page
* Add stats button to the article page and test stats page