* Add inline animated image detection
* Do not detect animation during preview
* Promote FastImage as a dependency
* Add Articles::DetectAnimatedImages service
* Restore previous parsing
* Add and use Articles::DetectAnimatedImagesWorker
* Remove obsolete poc
* Properly detect images in the after commit callback
* Simplify logic
* Use a second guard clause
* Fix parsing of relative paths and add tests
* Have Articles::DetectAnimatedImages correctly detect relative images uploaded locally
* Change Articles::DetectAnimatedImagesWorker priority to medium
* Only one & required
* Removes :runtime_banner feature flag + repositioning
* Switch to https://udl.forem.com + fix spec
* Fix URL specs
* Adds data_update_script to remove feature flag
* Fix banner overlay on reactions for small screens + iPad max width
* Append -only to Runtime Filter CSS
* Add import to fix assets:precompile
* Implement design update
* Apply suggestions from code review
Co-authored-by: Lisa Sy <lisasyis@gmail.com>
* Add ;
* Trigger Travis
Co-authored-by: Lisa Sy <lisasyis@gmail.com>
* Replaced granular emails with the default one
* Set reply to header in emails
* Extract shared_examples from NotifyMailer
* Removed unused code
* Replaced SiteConfig with Settings::General
* Fixes related to replacing SiteConfig with Settings
* Removed duplicate line from specs
* autofocus Skip Link on keyboard navigation
* focus Skip Link on route change if Skip Link exists
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Move static profile fields to profiles columns
In order to remove some ambiguity around the availability of certain
profile fields, we can designate certain fields as "static." These
fields are intended to exist on every Forem regardless of configuration;
they contain basic personal info that most Forem's will likely use.
Because these fields already exist on some Forems it is necessary to
migrate the data from existing profile's data column to their respective
columns.
This change should behave as expected irrespective of the existence of
the static fields having associated ProfileFields, however, the UI that
is rendered in a user's settings still depends on the presence of the
ProfileFields. We can address that in a future change when we are
prepared to delete those ProfileFields entirely. We should make sure the
migration occurs without issue before moving to that step, in my
opinion.
* Apply suggestions from code review
Co-authored-by: Michael Kohl <me@citizen428.net>
* Add clarifying comments
Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Michael Kohl <me@citizen428.net>
* When AWS_ID is the placeholder value, act as though AWS not setup
We have "Optional" as the placeholder in the .env_sample
When that's the "final" value in the .env file, assume we're actually
going to use local storage instead.
* Clear placeholder AWS values from env_sample
Revert the change to the carrierwave initializer (don't hardcode the
placeholder value).
Mimics choices we made for Cloudinary in #13767
* Put the user id filter inside the CTEs
One thing I forgot about Postgres CTEs is that they materialize the
entire CTE and the top-level query filters _that_.
* Use the correct column name
* Run user setting DUS per-user via Sidekiq
Doing it as a single query trips the query timeout beyond a certain
quantity of users.
* Run DataUpdateScripts::MigrateRelevantFieldsFromUsersToUsersNotificationSettings asynchronously
There was an issue seen with the HTTP Origin header not matching (the
error unhelpfully reported localhost:3000 did not match
localhost:3000).
Change the APP_DOMAIN internally to localhost:3000 (which is what the
user will in fact use, not rails), and since that breaks the http
requests from the db seed and sidekiq containers, allow them to only
check for a tcp connection instead of expecting a 200
response (sending requests to the disallowed host `rails` triggered a
403).
Related to discussion in https://github.com/forem/forem/issues/4955
* Change math in collection to represent the correct number of hidden posts.
* Add test for correction truncation text.
* Add aggregate_failures tag to collections spec
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Add option for triple tildes for fenced codeblocks
Note that this doesn't account for all triple backticks in fenced codeblocks situations.
* Add commented out but failing test case for the future?
* Add tests from QA instructions
* schema file undelete description
* feat: v1 of the script
* Flesh out remaining enums under their categories
* complete UsersSettings data update script
* complete DUS for relevant attributes in users and profiles tables
* complete DUS for users_notification_settings
* alphabetize user_settings sql file
* safeguard against null values for "null: false" settings
* Set up actual UsersSettings DUS and specs files
* fix broken DUS script
* complete specs for UsersSetting DUS
* Address QA of specs
* complete specs for users_notification_settings DUS
* fix the typos (thanks Julianna!)
* add missing attribute "email_membership_newsletter"
Co-authored-by: Arit Amana <msarit@gmail.com>