* Add reading_time to articles api responses
Fixes#13436
* Update api docs to match changes to the articles response
* Follow up docs updates
- increment api docs version
- add reading_time to articles/me responses
- add reading time to the show response example format
* Change reading_time attribute to reading_time_minutes
Update the article builder to use `article.reading_time` and present
it as `"reading_time_minutes"`.
Update the api spec to expect the new property name instead of the attribute.
* Update api documentation to reflect the new name
- Change reading_time -> reading_time_minutes.
- I decided to keep the (possibly redundant) description text here.
* Asynchronous organization destroy
* Notification after an organization was deleted
* Send data to Datadog and Honeybadger when org deletion failed
* Delete unused code
* Fixed Organization#destroyable? and organization delete specs
* Reorganized organization deletion specs
* Removed redundant specs
* Improved org deleted email text template
* Don't peform the org delete when a user or an org were not found
* Renamed user_id in the org delete worker
* Audit logging when deleten an organization
* Removed specs for tracking pixel and UTM params
* Changed slug for audit log on org delete
* Fixed schema.rb
* feat: make the sidebar more dynamic
* refactor: use the action in the same controller instead of the whole path
* feat: remove hardcoded routes
* feat: move routes into file
* feat: use rails 6 draw for the admin routes
* add a helper method
* oops: fix super
* feat: add the hacky helper methods :( )
* WIP: created different path helpers for the new routes and point the old helpers to the new ones if the FF is toggled
* feat: update the module
* chore: add new paths
* feat: change link_to's use paths instead
* feat: feedback_messages to scoped admin route
* chore: update the feature flag urls helpers
* feat: feedback_messages issue
* chore: remove all the workarounds
* chore: rubucop
* fix: oops remove helper
* chore: comment out the tests that touch the tabbed navbar which is affected by the rails application needing to be reloaded
* feat: ensure that we chcek if the db table exists
* Small UI refactor that makes the stats page resonsive (to some degree)
* Add import to scss file
* Whoops
* Implement feedback from review
* Extract flex value into variable
* Update app/javascript/analytics/dashboard.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* delete alt attribute on span
* delete role checkbox on button - add type button
* delete wrong aria label
* sidebar-nav as class not ID
* delete duplicate attr class on single story
* delete duplicate attr class sidebar nav
* Revert "delete role checkbox on button - add type button"
This reverts commit 456fa676ff4457ffa724e9a07a3f123149dc5f39.
* delete role checkbox and modidy spec login modal js
* no need for name in cypress test showloginmodal anymore
* add attr data-test-id
* replace attr defer with DOMContentLoaded event
* delete useless class
* better a11y approach for button and cypress tests
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* better a11y approach for button and cypress tests
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* discussion_r612278777 : change initialize article reactions js
* revert replacing `const` with `let`
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* revert replacing `const` with `let`
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* apply `aria-hidden` on all reaction svg
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* keep original text `Saved` for bookmark button
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* fix missing aria-label on load - reaction button
* Revert "replace attr defer with DOMContentLoaded event"
This reverts commit db6a7eec051c443c18c17e23cf331132b222011f.
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Navigate back to dashboard instead of article.path
* Set mainImage to null to remove image properly
* Use dashboard_path over string path
Co-authored-by: Michael Kohl <me@citizen428.net>
* Handle apostrophe edge cases
* Allow main image to be set
* Add new test for removing article cover img
* Use potentially less flaky find
* Use findByAltText instead of get
Co-authored-by: Michael Kohl <me@citizen428.net>
* Revert change to options hash within Articles::ActiveThreadsQuery#call
- Reverts double splat change back to options hash
- Reverts changes to active_threads_query_spec.rb options
* Adds another check for tags to Articles::ActiveThreadsQuery#call
- Adds a .tags.present? check to #call
- Removes redundant and broken relation from #call
* Reverts change to options hash within _sidebar_additional.html.erb
* Removes before block from active_threads_query_spec
* Moves tag filter before conditional in Articles::ActiveThreadsQuery#call
- Adds before block back to active_threads_query_spec for proper
testing of filtering of tags within spec
* Adjust options to use new kwargs in Articles::ActiveThreadsQuery
- Adjust active_threads_query_spec to use new args
- Remove useless code from Articles::ActiveThreadsQuery
* Adjust published_at in else block
* Move to crayons-tabs
* Update js logic to use crayon-tabs
* Remove toggle and add tab
The added code moved the tabs to the right hand side of the container (until mobile styles kick in then it will fill the container).
* make clean_fork executable
* fix attribute className not in a JSX context
* delete useless role main on main tag
* delete useless role banner on header
* First set of changes for Ahoy 2.0
* Fix line length
* Change test
* Remove unused test
* Remove ahoy_messages.opened_at
* Simply digest email sending calculation to not rely on last_opened
* Remove outdated comment
* Fix typo in test
* Rework site config email digest to a single value
* Fix merge duplication
* Remove UTM references from ahoy emails
* Fix credits tests
* Remove UTM from expected email params
* Rename banned and comment_banned roles
* Add data update script to rename roles containing 'ban'
* Add named error for Suspended users
* Update unidiomatic method names
* Rename misc banned to suspended
* Apply suggestions from code review
Co-authored-by: Michael Kohl <me@citizen428.net>
* Add unit tests for suspended methods
This commit also adds TODO comments for removing banned and
comment_banned from the codebase after data update scripts have
successfully run on all of our Forems.
Co-authored-by: Michael Kohl <me@citizen428.net>
* Add flag link to profile dropdown view
* Add JS for flag button on profile
* Only show flag button to trusted users
* Quick fix for accidental unflagging
This will be more properly addressed in a future refactoring.
* Update reaction specs
* Update spec
* Make flagging togglable
* Make CodeClimate happy
* Revert accidentally changed file
* CodeClimate
* Update app/javascript/profileDropdown/flagButton.js
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* Add JSDoc
* Remove second popup
* Refactor and add system spec
* CodeClimate
* Change send to public_send
* Address PR feedback by @aitchiss
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
* feat: add the two new models users_setting and users_notification_setting
* feat: add the settings and notification_settings table to the schema
* feat: add the user and notification models
* feat: add the user_id foreign key to the model
* chore: sneaky indent
* feat: add some fields from the profile attributes
* Revert "feat: add some fields from the profile attributes"
This reverts commit 376828746ded063a243505d317140fa5339227cf.
* chore: add some profile field attributes
* chore: remove language_settings
* chore: update indent
* chore: remove language_settings
* feat: changes to the tables
* chore: remove validation in favor of the foreign keys
* chore: add default for editor version
* Address PR review suggestions
* setting_spec.rb needs to be fixed; need help
* Working on PR review comments
* Continue with addressing PR review comments
* Remove normalize_config_values method; pass correct values from forms
* Address Travis failures
* revert some unnecessary changes in spec file
Co-authored-by: Arit Amana <msarit@gmail.com>
* Remove pro role on user, expose pro dashboard to all users as analytics
* Remove pro from Elasticsearch mappings
* Update user role docs to use :trusted over :pro
* Remove pro from Role model spec
* Remove more references to pro, as noted by @rhymes
* Fixed bug with templates not being inserted for comments.
* Removed some trailing white space from a heading.
* Added custom Cypress command to create an article.
* Added E2E tests for creating comments on an article.
* Fixed adding a comment issue caused by mention auto-complete.
* Fixed a selector for the E2E tests.
* Removed some unnecessary white space and also making code climate happy.
* Updated E2E test.
* Added a bit more to the E2E tests.
* Now validation for comment doesn't need to loop through textareas.
* Merge remote-tracking branch 'origin/master' into nickytonline/fix-comment-template-insertion-bug
* Removed a similar spec file and added tests to the other file.
* wip
* Fixed bug where a response template could not be submitted.
* Added/updated E2E tests.
* Reverted a small change to condition for showing the combobox popover.
* Undoing some white space changes as not related to PR.
* Trigger Build
* Put back article seed data as it's used in tests outside of comment tests.
* Added credits_awarded to /admin/badges forms
* Award credits only if badge has them
* Removed information about credits and listings in the new badge email when not needed
* Specs for number of credits awarded for badges
* Added missing newline
* Fix typo
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Improve new_badge_email.text.erb
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Fixed number of credits in notification
* Added specs for number of credits in notifications
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
* Revert "Revert "Add (updated) mention autocomplete to post comments (#13061)" (#13116)"
This reverts commit e28bde043c.
* Fix issues with editing comments and arrow key navigation, update tests
* Update app/javascript/crayons/MentionAutocompleteTextArea/MentionAutocompleteTextArea.jsx
Co-authored-by: Nick Taylor <nick@forem.com>
* refactor adding of attributes
* destructure
Co-authored-by: Nick Taylor <nick@forem.com>
* Working version of Runtime Filter with banner behind Feature Flag
* First attempt to add a cypress test
* Adds simplified test
* Cleanup global references
* Add multi-platform e2e test
* Use --runtime-display var with fallback to block
* Update app/assets/javascripts/initializers/runtime.js
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Add FeatureFlag stub to fix unrelated specs
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
* Adjust active_threads class method to display posts in homepage sidebar
* WIP: add specs around active_threads class method
* Uses newer AR query syntax in Article#active_threads
* WIP: Updates article_spec.rb to get tests passing
* WIP: Adjust test to return articles that dont fall into constraints
* Adjusts spec to update articles properly
* Adjust article.update_columns to match initial article columns
* Extracts .active_threads into a query object and removes class method
- Removes class method from Article model
- Removes class method tests from article_spec.rb
- Adds Articles::ActiveThreadsQuery to app/queries/articles
- Adds active_threads_query_spec.rb to spec/queries/articles
- Replaces Article.active_threads with Articles::ActiveThreadsQuery
in _homepage_content.html.erb and _sidebar_activity.html.erb
- General code clean up
* Rename number to count in Articles::ActiveThreadsQuery
* WIP new specs
* Update spec
* Repleaces let! with before block to appease rubocop
* Refactors Articles::ActiveThreadsQuery#call per PR review suggestion
* Calls Articles::ActiveThreadsQuery within articles_helper instead of view
Co-authored-by: Mac Siri <krairit.siri@gmail.com>