* Move from env variables to SiteConfig
Related to #5384
This PR only deals with the first remaining part outlined in the issue, starting to use existing SiteConfig keys instead of the env variables.
* Restore Envfile to original version for now
* Initial work for streaming app shell way of using serviceworkers
* Close in on serviceworker adjustment finalization
* Add docs and loading indicator
* Remove useless code
* Don't run on API
* Update app/javascript/contentDisplayPolicy/hideBlockedContent.js
* Fix small details
* Don't run serviceworker.js code in test env
* Fix JS in serviceworker
* Move private keyword to proper place in async controller
* Change shell_version to HEROKU_SLUG_COMMIT
* Update caching config
* Add test for async_info/shell_version
* Hide blocked users' content appropriately
* Use RESTful create route
* Update functionality to block the user
* Fix specs for new route
* Use const instead of var
* Add noopener and noreferrer
* Remove caching for blocked user ids
* Add new rule for lack of noopener noreferrer
* Update snapshot
* Add route for comment social preview
* Add method comment to social_previews_controller
* Add view for comment social preview
* Fix spacing in meta keywords
* Update comments page keywords
* Create helper for comment social media image
* Use comment social image, add published condition for article social image
* Add tests for comment social preview
* Remove not_found fallback for social previews controller
* Remove cached_tag_list
* Update typos of word 'image' in spec
* 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
* Preload organization, not user
* Preload users only when needed
* Pre-load podcasts for podcast episodes in API
* Avoid eager loading error by loading rating votes separately
* Preload associations for moderation
* Preload user comments in trees
* Preload organization for non org dashboard and cleanup queries
* Optimize ArticleSuggester to only load N articles at need
* Remove eager loading and pass variables to partials for easier debug
* Reorganize tags validation code and ignore actsastaggableon eager loading issues
* Remove unused eager loading and bring up comments relation
* Preload podcasts when loading podcast episodes
* Fix views specs
* Make sure ArticleSuggester never returns duplicates
* Remove commented code
* Re-trigger build
* Move suggested articles back to view to respect fragment caching
* Add article decorator published_timestamp
* Use time HTML5 element and refactor date in partial
* Add published_timestamp to Article
Adding `published_timestamp` to the homepage we can then use JS to render the full timestamp localized for the user.
We've also added the timestamp to the index and the API
* Display article published timestamp on hover
* Use time also in the article show page
* Add timestamp to bottom articles as well
* Remove published_timestamp from index because it is not used
* Fix broken specs
* Add more article dates specs
* Refactor date initializers
* Increase loader text opacity
Low contrast text is not great in general, this also brings Lighthouse score from 88 to 96
* Add some alternative text to images
* Add some aria labels to controls
* Social Cards Part 2
This is a follow up to part 1: https://github.com/thepracticaldev/dev.to/pull/2090.
This PR updates the og:image URLs to use the new social_preview.png urls
added in Part 1.
So that the already generated/cached images do not need to be recreated,
this sets a MIGRATION_DATETIME. Any object that has been updated after
that date will generate a new image
Objects from before that date will not. They will use the new url.
* Fix weird change made by rubocop autocorrect
* Handle organizations + users
* Run CI
* Use time with zone to be explicit about timezone
* Simplify branching in user_social_image_url method
* Fix param alignment + bump migration date
* Enable all Rails 5.0 defaults, except for CSRF mitigations
* Enable all Rails 5.1 defaults
* Enable per_form_csrf_tokens
* Enable forgery_protection_origin_check
* Avoid replacing the CSRF in the comment form
Each form now has its own CSRF in addition to the global one.
I've left in place the setInterval
* Restore per_form_csrf_tokens to false
* Fixed HTML errors in /app/views/additional_content_boxes
* Fixed indentation
* Fixed linting error in /app/views/comments
* Fixed indentation in /app/views/html_variants
* Fixed HTML errors + Fixed indentation in /app/views/internal
* Fixed HTML errors + Fixed indentation in /app/views/layouts
* Fixed indentation in /app/views/mailers
* Fixed indentation in /app/views/moderations
* Fixed HTML errors + Fixed indentation in /app/views/notifications
* Fixed HTML errors in /app/views/pages
* Fixed HTML errors + Fixed indentation in /app/views/social_previews
* Fixed indentation in /app/views/stories
* Fixed indentation in /app/views/stripe_subscriptions
* Fixed indentation in /app/views/tags
* Fixed indentation in /app/views/users
* Reduce the number of sql queries for articles comments
* Refactor comments tree display
* Refactor retrieving the comments tree
* Remove comments tree view object
* Update score in comments spec for consistent order
* add myself to the core contributors
* add comment template
* merge upstream
* make sure the template re-appears for top level comments after submission
* make interface admin only
* Adjust comment template form
* Fix merge conflicts
* Remove unnecessary comment template from json
* Add details to toggles and modify some styling
* Add details to child comments
* Finalize comment collapse in nested comments
* Modify styling on comment <details>
* Add sloan as marker of low quality and adjust banishment logic
* Add s3 stub to rails_helper
* Modify banishment criteria
* Only mess with profile image in prod
* Resolves#245
* This is applied to root level comments as well as nested replies.
* We are ensuring that user has commented at least once which means
they have accepted the code of conduct before
Style changes as per suggestions in code review
* Comment liquid tag - https
Replaced `http` for `https` in twitter and github links
* User tag - Https
Replaced `http` with `https` in github and twitter links.
* Comments - Https
Replaced http with https for github and twitter links
* Article index
Article - Update twitter and github link from http to https
* Article markdown - Http to Https
Article markdown - replaced http with https
* Comment view: Closed `a` tag
An `a` tag was not correctly closed, before injecting an image. This commit closed it.
* Move validations from controller to model
* Add new columns to feedback message model
* Use polymorphic notes relationship
* MVP of ticketing system
* Use new URL for reported_url param
* Add missing files
* Add validations and tests for feedback_messages
* Clean up some html
* Update create spec and add update spec
* Add mail tests and lint
* Add link to user profile
* Lint and clean up github issue styles
* Use heredoc HTML for easier formatting
* Add better error handling for 404 github issues
* Use custom sanitizer for markdown render
* Refactor unless to ternary
* Rename file and tighten up sanitization
* Fix codepen and instagram tag styling
* Add user articles to sidebar
* Add organization save-all functionality
* Adjust articles that show up in side sticky bar
* Add conditional for @user_stickies to show up