* flare tag line height
* .
* dropdown fix + actions bar fix
* actions bar on mob
* .
* .
* js
* little updates
* improve contrast ratio
* Remove unused id and duplicated element id
Co-authored-by: rhymes <rhymes@hey.com>
* Refactor controller validations to model
* Update specs and move current email validation back
* Refactor #subscribed
* Cleanup UserSubscriptions::Create service
* Refactor service
* Move source inside of call for clarity
* Specs for UserSubscription::Create
* Cleanup spec
* Fix Article spec
* Updated for subscriber_email
* Add comment for explicitness of subscriber_email
* Fix reference in comment...oops!
* I know what I'm doing...sometimes...maybe
* Rename CachChecker - Subscription to IsSubscribed
* Use include vs eq in specs for error messages
* attr_accessor --> attr_reader
* Don't explicitly set nil
* Rename Create service to CreateFromService
* Use errors_as_sentence
* Rename service to CreateFromControllerParams
* Assign Struct to a new constant
* Add stackery liquid tag
* Refactor stackery liquid tag
* Docs for stackery liquid tag
* Add stackery liquid tag tests
* Remove Github API check from stackery liquid tag
* Minor PR comment tweaks
* Stop allowing accented characters in tags
This commit will add strict frontend and backend validation for tags
disallowing accented characters.
* Update tags validation error message
* Add more character sets to tag validation spec
* Add check to id param to use slug if passed
* modify to use slug in a different action
* wrote test for this api endpoint
* update test to check array equality
the test also checks if the first tag in the parsed list is the same as the first tag in the article
* Make liquid tags adhere to context and permission
* Undo updates to all liquid tags and update error
* ACTUALLY update errors this time
* Typo
* Refactor error handling and add support for Comment
* Fix specs
* Code cleanup
* Prettify error message
* Add comment clarifying error
* parsed --> parse
* Use a policy for validating roles
* Fix pretty error message
* Return early if valid source
* Get rid of duplicate current_user
* Add comment to Pundit.authorize
* LiquidTagPolicy specs
* Update liquid tag docs
* Update docs
* Use parse_context argument for clarity
* Remove duplicate guard clause for VALID_ROLES
* Update docs
* Remove sort links from tags for logged-out (SEO)
* Fix tests
* Fix tests take 2
* Final test fix
* Read error message more clearly
* Adjust tests
* Final test fix
We are no longer using the Percy service, so this code is not required anymore.
Removes the percy agent, the gem, and all references to Percy.snapshot and percy: true.
* Create "blank" EmailSubscriptionTag
* Refactor liquid_tags_used with spec
* Create /user_subscriptions#create
- Update liquid tag name to UserSubscriptionTag
* Add rate limiting and specs
* Add counter_culture for user_subscriptions
* Update /async_info/base_data
- Alphabetize user_data
- Add email
- Add subscription_source_article_ids
- Cache subscription_source_article_ids on User model
* Add stale email check and specs
* Change user_email to subscriber_email for clarity
* Restrict UserSubscriptionTag
* Rename RESTRICTED_TAGS to RESTRICTED_LIQUID_TAGS
* Make TODO comment more clear
* Refactor error responses and update specs
* Update type to source_type in error message
* Use constantize over safe_constantize
* Add check for active source
* Refactor checking of current_user's subscriptions
- Remove data from async_info
- Create a new service to fetch/cache a user's existing subscriptions
* Restrict email in base_data to admin roles
* Oops! Rename liquid tag file
* Change error back to result...oops!
* It's not goodbye, it's see you later. RIP email :/
* Add current_email to /user_subscriptions/base_data
* Revert adding current_email
* Undo async_info_controller changes/fix conflict
* Move params to constant
* Refactor SubscriptionCacheChecker
* Remove duplicate status code in JSON response
* Remove duplicate status code for #subscribed
* Use response.parsed_body
* Remove user guard in SubscriptionCacheChecker