Commit graph

85 commits

Author SHA1 Message Date
Molly Struve
e87dead7ad
Use new UserSetting and UserNotificationSettings and Ignore Related User Table Fields (#14121)
* 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!)

* begin implementation

* still building

* add missing attribute "email_membership_newsletter"

* complete sync code (except race condition for user profile)

* complete implementation, remains tests

* Address PR review and fix Travis fails

* remove superfluous Profile.new

* fix travis fails

* feat: update the users_notification_setting attributes from the user model

* feat: use the config fonts enums to display the fonts

* feat: loop through the keys

* fix profile = nil blowing up; add specs for notification_setting model

* remove unneeded spec

* remove feed validation until after sync code removed; fixes feed_import spec failures

* remove spec associated with feed_url validation in user_setting model

* fix failing spec 😅

* add TODO

* feat: set the user settings in the user controller  and use it in the customization form

* feat: move some update logic to the users settings controller thats being used from customization

* feat: show the updated values form the users_settingd and not the user instance

* Generalize redirect back to current tab

* still trying to reflect changed theme upon refresh

* customizations take effect on refresh

* remove 'with_feed' scope from user model

Co-authored-by: Jamie Gaskins <jamie@forem.com>

* start with takeover for fields previously in profiles table

* Takeover code for `publishing_from_rss` section in Settings (#13914)

* implement takeover code part 1

* implement takeover code

* fix feed fetch

* need rhymes help

* complete implementation; specs pending

* fix STUPID omission that caused so many headaches 😫

* implement profile fields pointing to users_settings 🎉

* run migrations

* implement inbox type & guidelines takeover code; specs pending (#13911)

* Point changes in notification settings to `users_notification_settings` table (#13910)

* implement takeover code; remains specs

* address PR feedback; remove related sync code

* address PR review feedback

* need help with routing and specs

* address pr review

* addressing pr review

* Treat implementation edge cases and omissions 😅

* fix uncommented comment

* fixing implementation cases

* address more PR review feedback

* fixing notifications use-cases

* refactor settings controller

* more pr review changes

* solving bugs

* fix broken onboarding

* handle eperience_level calls

* more fixes

* remove unneeded mappings

* add To-dos for quety updates

* remove done TODO

* purge done TODOs

* update notification_settings-related queries

* start fixing specs

* fixing specs

* fix notification and lrg_forem specs

* fixing broken specs

* still fixing

* fix line dif and remove reloads from user.rb

* run specs

* silence bullet and other fixes

* remove setting migration scripts and specs, fix more settings for specs

* handle missing user for article builder and fix notification specs

* fix some final controller specs and re-add incorrectly removed specs

* remove deprecated data update scripts and related workers, put travis back

* refactor admin tags mods controller, write/move specs for users notifications settings controller

* schema cleanup and other small refactors for consistency

* set field we can invalidate in spec via active record instead of at the db level

* remove I think an uneccessary hook call from subscribe_to_mailchimp_newsletter

* use bnefore_create to setup settings, please dont blow up the test suite

* mailchimp bot fix

* remove decorator in favor of single model method

Co-authored-by: Arit Amana <msarit@gmail.com>
Co-authored-by: Ridhwana <ridhwana.khan16@gmail.com>
Co-authored-by: Arit Amana <32520970+msarit@users.noreply.github.com>
Co-authored-by: Jamie Gaskins <jamie@forem.com>
2021-07-08 09:31:34 -05:00
Mac Siri
ffe31cd5aa
Change default value for editor version (#14063)
* Create migration

* Remove explicit "v2" usages

* Fix broken spec

* Update spec/system/user_uses_the_editor_spec.rb

Co-authored-by: Jamie Gaskins <jgaskins@hey.com>

Co-authored-by: Jamie Gaskins <jgaskins@hey.com>
2021-06-28 14:08:14 -04:00
dependabot[bot]
1ea169a351
Bump rubocop-rspec from 2.3.0 to 2.4.0 (#13951)
* Bump rubocop-rspec from 2.3.0 to 2.4.0

Bumps [rubocop-rspec](https://github.com/rubocop/rubocop-rspec) from 2.3.0 to 2.4.0.
- [Release notes](https://github.com/rubocop/rubocop-rspec/releases)
- [Changelog](https://github.com/rubocop/rubocop-rspec/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rubocop/rubocop-rspec/compare/v2.3.0...v2.4.0)

---
updated-dependencies:
- dependency-name: rubocop-rspec
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* Enable new cops, fix violations and refactor specs

* Remove expected "Moderate" text from the /mod page test

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rhymes <github@rhymes.dev>
Co-authored-by: Dan Uber <dan@forem.com>
2021-06-14 09:27:13 +02:00
Alex
b02d43ca2d
Create DiscussionLocks (#13905)
* Create DiscussionLocks

* Fix specs

* Update nullify_blank_notes_and_reason

* Update before_validation call

* Updated DiscussionLockPolicy for clarity

* Move permitted_attributes to a constant

* Update route

* Apply suggestions from code review for frontend

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>

* Add title tags

* Wrap unlock confirm in main element

* Wrap flash messages up in div

* Actually fix title tags

* Hide comment reply button when discussion is locked

* Add E2E tests

* Try to fix E2E tests

* Cypress...you work locally but not in CI...why!?

* PR feedback

* Update E2E tests

* More E2E updates 😭

Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-06-10 11:04:33 -04:00
Michael Kohl
6dfabd578f
Rename SiteConfig to Settings::General (#13573)
* Rename SiteConfig

* More renaming

* Update spec

* Update mandatory settings mapping

* More renaming

* e2e test fixes

* You have a rename, and you have a rename

* Spec fix

* More changes

* Temporarily disable specs

* After-merge update

* Undo rename for migration

* undo rename of DUS

* Fix DUS

* Fix merge problem

* Remove redundant DUS

* Fix specs

* Remove unused code

* Change wrong class name

* More cleanup

* Re-add missing values to constant

* Fix constant

* Fix spec

* Remove obsolete fields

* Add accidentally removed field

* Update spec

* Move methods from Settings::General to ForemInstance

* Remove unneeded model

* Change mentions of 'site config'
2021-05-21 14:45:37 +02:00
Michael Kohl
b7ff9aadd1
Clean up SiteConfig (#13738)
* Remove obsolete SiteConfig values

* Remove DUS

* fixup! Remove obsolete SiteConfig values

* fixup! Remove obsolete SiteConfig values

* Add DUS for removing SiteConfig values

* Fix specs

* Fix specs

* Clean up more DUS

* Update DUS

* Fix remaining spec

* Remove leftover spec

* Fix more specs

* Fix spec

* Remove deprecated spec

* Rearrange specs

* Temporarily disable specs
2021-05-18 09:38:31 +07:00
Alex
393ba00221
Remove Elasticsearch ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ ✂️ (#13606)
* Attempt number 1

* Fix rack_attack specs

* Fix users_searches_users spec

* Fix display_users_search_spec

* Fix comment typo

* Remove search:destroy task from cypress

* Remove port 9300 from gitpod

* Stub response in attack_spec
2021-05-03 11:09:45 -04:00
Suzanne Aitchison
9a693d3ac6
add skip link to tag page (#13485) 2021-04-23 16:10:28 +01:00
Vaidehi Joshi
95055b2a89
Remove pro role + expose analytics to all users via dashboard (#13156)
* 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
2021-03-30 15:02:18 -07:00
Jacob Herrington
0c6f4113f2
Fix irregular comment count buttons (#12724)
* Fix irregular comment count buttons

* Fix irregular comments button on tag and user page

* Add regression tests for irregular comment buttons
2021-02-22 12:11:44 -06:00
Mac Siri
60be1d6def
Add flaky tags & retry in specs (#12750) 2021-02-22 11:20:16 -05:00
Suzanne Aitchison
c761c3f9a7
Provide skip links: Tweak skip link style, refactor main area ID (#12694)
* change home page main id to main-ontent, update scroll, refresh and shortcut handlers

* update articles by timeframe test with new main-content id

* tidy up css

* Trigger Travis CI

* undo unneeded changes

* small refactors
2021-02-17 10:15:31 +00:00
Andy Zhao
52abffd4ea
Verify link is available and wait for JS before testing (#12492)
* Remove unused variables

* Use find to ensure JS updates link and then test
2021-01-29 15:42:08 -05:00
Michael Kohl
6afaa25f50
Fix accidental publishing of draft articles (#12288)
* Fix accidental publishing of draft articles

* Add regression spec

* Fix spec
2021-01-22 08:47:16 +07:00
Michael Kohl
45cecc8592
Break StickyArticleCollection into services (#12147)
* Break StickyArticleCollection into services

* Add tests
2021-01-08 09:14:47 +07:00
Akash Srivastava
ebd7712829
fix: Parsing of preamble with escaped content in runkit tags (#11466) 2020-11-27 16:56:52 -05:00
Ben Halpern
badefcabeb
Developer experience/security: Make dev/test blow up if current_user is used erroneously (#11237)
* Let dev/test blow up if current_user is used erroneously

* Fix logic

* Fix click-to-edit permissions

* Change test to check for new behavior

* linting

* Edit tests

* Change test

* Clean up implementation

* Update comment

* Fix instance vars

* Update app/controllers/concerns/caching_headers.rb

* Merge origin and add request_store gem
2020-11-12 11:54:23 -05:00
Molly Struve
8578fdc358
Spec Fix:Remove Extra Space From Single Number Dates in Spec (#11225) 2020-11-01 18:04:51 -06:00
Lisa Sy
3a50ae1b4f
[Crayons] Update tag page header (#11130) [deploy]
* Update tag page header

* Update small fixes

* Make small edits

* Update header layout

* Use "opacity-50" instead of part of a component

* Bringing back `p` since we're stripping other tags anyway :)

* Update to test to match new header

* Update test

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: Zhao-Andy <17884966+Zhao-Andy@users.noreply.github.com>
2020-10-30 10:24:11 -07:00
Molly Struve
dbfed77f37
Flaky Spec Fix:Remove js:true From Local Timestamp Checks and js Fix attempt code (#11087) 2020-10-26 10:20:51 -05:00
Molly Struve
3884009f08
Spec Fix:Set Javascript Locale to Match Time.zone (#11025) 2020-10-26 07:51:32 -05:00
Molly Struve
b9000cb6a7
Uncomment Specs and Add additional Logging (#10989) 2020-10-21 15:56:29 -05:00
Molly Struve
930e546529
Comment out Flaky User Views Article Date Specs (#10965) 2020-10-20 12:11:46 -05:00
Molly Struve
24c8585359
Flaky Spec Fixes:Correctly Assert Dates in Views (#10936) 2020-10-19 15:49:09 -04:00
Lisa Sy
36e271e1cb
Deprecate old button stylings with Crayons buttons (#10694) [deploy]
* Deprecate old buttons.scss file

* Replace outdated button styles with Crayons button styling

* Update additional views after removing old button styling

* Update tests

* Update test

* Update test

* Fix button placements
2020-10-14 07:28:41 -07:00
Arit Amana
f4bd1df21c
[Email/Password Authentication] Allow Admins to enable email/password login (#10745)
* Implement Admins ability to allow email login

* Write specs for admin allow email login

* Fix specs causing builds to fail

* Fix spec causing builds to fail

* Use dummyimage.com for spec images

Co-authored-by: Josh Puetz <joshpuetz@gmail.com>

* Use dummyimage.com

* refactor setting of SiteConfig attributes

* Address PR review comments

* fix indentation

* Use "allow to receive and return" approach for other specs

Co-authored-by: Josh Puetz <joshpuetz@gmail.com>
2020-10-12 12:54:35 -04:00
Molly Struve
e42b6d6b46
Flaky Spec Fix:Clear Article Content Before Filling In (#10810) 2020-10-12 10:46:25 -05:00
rhymes
a1e8634b90
[deploy] Disable flakey Runkit test (#10806) 2020-10-12 15:48:29 +02:00
Rafi
327fe14ccb
Fixing id and class of non featured article (#10247)
* Fixing id and class of non featured article

* Adding id

* Removing extra space

* Fixing broken rspec test
2020-09-08 18:38:49 -04:00
Mac Siri
23cee97d0a
Fix Flaky Runkit system spec (#10148) 2020-09-01 19:22:12 -04:00
ludwiczakpawel
1776377234
Improve styling for series (#9893)
* .

* flare tag line height

* .

* series switcher

* .

* revert

* editor preview fix

* Fix broken spec

Co-authored-by: Mac Siri <krairit.siri@gmail.com>
Co-authored-by: rhymes <rhymes@hey.com>
2020-08-24 09:53:51 +02:00
Lisa Sy
df8ac96524
Update styling of authentication feed card for logged out users (#9762) [deploy]
* Update styling of authentication feed card for logged out users

* Update app/views/stories/_sign_in_invitation.html.erb

Co-authored-by: Fernando Valverde <fernando@visualcosita.com>

* Update test

* Update app/assets/stylesheets/signin.scss

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

Co-authored-by: Fernando Valverde <fernando@visualcosita.com>
Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
2020-08-14 07:40:18 -07:00
Takuma
2650092abb
[deploy] Fix showing unpublished article edit link (#9511)
* Fix showing unpublished article edit link

* Change if clauses to surround only edit link

* Fix: use ArticlePolicy.update? instead of checking article update authority manually
2020-07-30 15:18:30 +02:00
Molly Struve
b40af82b66
Flaky Spec Fix:Remove let_it_be Test Prof Helper (#9556)
* Flaky Spec Fix:Remove let_it_be Test Prof Helper

* Spec cleanup and fixes
2020-07-29 11:31:01 +02:00
rhymes
5a2cae4fbb
Rubocop: enable and fix new Rails cops (#9537)
* Enable new Rails/* cops and use autocorrect on them

* Fixed Rails/PluckInWhere leftovers

* Fix Rails/DefaultScope

* Enable and fix Rails/PluckId

* Fix manual mistake with forcing autocorrection on Rails/PluckId

* Apply PR feedback to remove Rails/PluckId inline disables

* Apply PR feedback to get rid of Rails/PluckInWhere inline
2020-07-29 11:14:19 +02:00
Molly Struve
4f20555221
[deploy] Optimization:Change Multiple Small Table Column IDs to Bigints (#9513) 2020-07-26 16:16:13 -05:00
Takuma
3fd01c326d
Bug Fix: Article Posted Date and Author Card Posted Date do not match (#9272)
* Refactor: move has_long_markdown from view to helper, and change it from variable to method

* Fix: Article Posted Date and Author Card Posted Date do not match #8789

* Add test case for Article Posted Date and Author Card Posted Date do not match #8789

* Use our custom URL helper module instead of manually constructing URL

* Move long_markdown? from ArticlesHelper to ArticleDecorator

* Change method name from has_long_markdown? to long_markdown?

* Add test suites for long_markdown? method to ArticleDecorator spec

* Use << over +=

* Fix typo

* Remove unnecessary cache
2020-07-22 16:34:55 +02:00
Pavel Tkachenko
9e94b80741
[deploy] Add local_date helper to handle dates with respect of user timezone (#9285)
* Add local_date helper to handle dates with respect of user timezone

* Fix date timezone bug for articles/show

* Fix date_helper to meet system specs requirements
2020-07-16 08:45:44 -06:00
rhymes
5b62811c98
[deploy] Rubocop: fix violations of Layout/LineLength (#9197) 2020-07-08 08:36:36 -05:00
Ben Halpern
8e0972dd33
[deploy] Remove sort links from tags for logged-out (SEO) (#8932)
* 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
2020-06-26 17:21:18 -04:00
Vaidehi Joshi
d2ef01ecc2
Remove Percy (#8915)
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.
2020-06-25 11:19:58 -07:00
ludwiczakpawel
8c83aa3365
Table component & Dashboard update (#8778)
* flare tag line height

* .

* .

* .

* .

* specs

* spec

* .

* spec
2020-06-22 18:47:17 +02:00
Molly Struve
6cc4c6fe4a
Flaky Spec Fix: Dont CGI Escape Title Compare (#8714) 2020-06-16 14:19:41 -05:00
rhymes
5d4f24c4ae
Remove Audit::Event::Util (#8704)
* Remove Audit::Event::Util

* Fix flaky spec
2020-06-16 12:50:53 -04:00
Vaidehi Joshi
38993608cf
Hide active announcements from logged-in users on the editor (#8427) [deploy] 2020-06-11 16:02:54 -07:00
Molly Struve
4f831a836b
Flaky Spec Fix: Stub Requests to Elasticsearch For some js: true Specs (#8426)
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-06-11 17:49:21 -05:00
Molly Struve
8400864273
Spec SpeedUp: Refactor and Combine Assertions for Viewing Articles by Timeframe Spec (#8422) 2020-06-11 16:48:11 -05:00
Molly Struve
14e50630fd
Flaky Spec Fix: Clear Elasticsearch Data For js: true Specs to Fix Server Errors (#8388)
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-06-10 14:12:19 -05:00
Molly Struve
a5f6183554
Flaky Spec Fix: Set Profile Image to Nil to Avoid Server Errors in js Specs (#8350) 2020-06-09 08:48:21 -05:00
Molly Struve
232c67dd0a
Spec Speedup: Comment Out More Percy Only Specs (#8348) 2020-06-08 12:53:16 -05:00