Commit graph

298 commits

Author SHA1 Message Date
Vaidehi Joshi
52b3d47a04
Remove pro role from users and database (#13176) 2021-03-31 09:34:10 -07:00
Vaidehi Joshi
a5f014f576
[15 Min Fix]: Fix incorrect scope used by metrics:overview rake task (#13138)
* Fix incorrect scope used by metrics:overview rake task

* Add spec for metrics:overview rake task

* Add guard clause to metrics:overview rake task
2021-03-25 17:31:10 -07:00
Jacob Herrington
03465e8882
Add rake task to collect admin overview metrics (#13023)
* Add rake task to collect admin overview metrics

* Print the Forem Instance domain
2021-03-24 14:16:46 -05:00
Anna Buianova
aca08cfb11
Added credits_awarded to badges (#13073)
* Added credits_awarded to badges

* Data update script for updating credits_awarded

* Data update script for updating credits_awarded

* Added null: false to badges.credits_awarded
2021-03-24 11:33:58 +03:00
Michael Kohl
7c31a9cc98
Remove buffer gem and related code: step 1 (#12993)
* Remove buffer gem and related code

* Remove more Buffer-related code

* Remove one more Buffer spec

* Remove DUS

* Remove more Buffer code
2021-03-24 09:58:38 +07:00
Michael Kohl
847d8a8590
Add settings model generator (#13003)
* Add settings model generator

* Obey the CodeClimate overlords

* Update generator

* Update USAGE

* Add Zeitwerk exception
2021-03-19 12:55:31 +01:00
Nick Taylor
7c1343be9e
Revert "Revert "Removed service worker (#12974)" (#13014)" (#13015)
This reverts commit 2416387fb4.
2021-03-17 10:57:56 -04:00
Molly Struve
2416387fb4
Revert "Removed service worker (#12974)" (#13014)
This reverts commit 4fb6230606.
2021-03-16 18:10:01 -05:00
Nick Taylor
4fb6230606
Removed service worker (#12974) 2021-03-16 15:55:31 -04:00
Mac Siri
bd8e800b39
Bump imgproxy to 2.0 (#12963) 2021-03-11 08:24:13 -05:00
Ben Halpern
73125c0795
Reduce service worker functionality to minimal offline page (#12834)
* Reduce service worker functionality to minimal offline page

* Update docs for service workers

* Add comment to fix test

* Include incrementable static cache

* Add TODO comments about removal

* Fix trailing whitespace
2021-03-01 19:29:26 -05:00
Michael Kohl
283b008e97
Add data update script for backfilling usernames (#12728) 2021-02-19 08:16:29 +07:00
rhymes
09abd1af81
Fastly edge caching: use PURGE HTTP method instead of POST (#12627)
* Add :fastly_http_purge feature flag

* Add fastly.purge to EdgeCache::Bust::Fasty

* Update app/services/edge_cache/bust/fastly.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Update app/services/edge_cache/bust/fastly.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Update spec/lib/data_update_scripts/add_fastly_http_purge_feature_flag_spec.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Improve specs applying the feedback

* Deploy to BHC

* Undo Travis changes

Co-authored-by: Michael Kohl <citizen428@dev.to>
Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2021-02-17 13:34:37 -05:00
Ben Halpern
b61c8b7e6b
Fix edge cases in profile field UI migration (#12665)
* Fix edge cases in profile field UI migration

* Fix missing statement

* Fix list of attributes
2021-02-11 17:18:46 -05:00
Ben Halpern
5f92ef7b8f
Fix profile field production display area functionality and remove SiteConfig.dev_to? hacks for better generalization (#12015)
* Initial work

* Add special exceptions

* Clean up and progress

* Update github url

Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>

* Add tests and finalize data update script

* Fix test

* Add some tests

* Fix display_area test

* Adjust spec

* Fix svg title

Co-authored-by: Molly Struve <mollylbs@gmail.com>
Co-authored-by: Ridhwana <Ridhwana.Khan16@gmail.com>
2021-02-11 10:05:06 -05:00
Ridhwana
a61f88fc16
Adds a feature flag for Data Update Scripts (#12641)
* feat: add a feature flag for data update scripts

* feat: write some tests for it

* chore: oops

* stub the data update scripts out wherever the profile admin is

* chore: remove some unneeded ones

* refactor: use call_original

* feat: add a feature flag to all the Forems (but not enable it as yet)
2021-02-10 18:22:27 +02:00
Vaidehi Joshi
d42ae2bc9a
Fix erroring data update script (#12628)
* Fix erroring data update script

* Add spec to ensure that script doesn't impact any other user if tech_admin users don't exist

* Comment out erroring script, delete its associated spec

* Add replacement AddSingleResourceRoleToTechAdmins data update script
2021-02-09 11:16:44 -08:00
Ridhwana
05e31971cb
Navigation Items and Role access for Data Update Scripts (#12292)
* feat: add tech_menu_items to the admin helper

* feat: add the tech resources to /admin  if the user has the correct role

* feat: use a partial that will show the data update scripts in the navbar with the correct role

* chore: use a method

* test: chore

* feat: setup the data to need permission single_resource_admin with DataUpdateScript permissions

* chore: remove the if current_user.tech_admin?

* chore: remove line

* feat: add a DUS for single_resource_admin roles to be added to users with tech_admin roles

* fix: move all teh routes outside of the block where tech_admin is required.

* chore: use the constant and remove the method

* chore: add a comma

* Update config/routes.rb

Co-authored-by: rhymes <rhymes@hey.com>

* feat: add a tech admin role to the dropdown

* feat: add the tech admin role along with single_resource_admin

* chore: oops

* refactor: amend the spec to use let blocks

Co-authored-by: rhymes <rhymes@hey.com>
2021-02-09 17:41:14 +02:00
Michael Kohl
e258e36c92
Remove language settings (#12502)
* Remove language settings

* Remove more language related code

* Remove leftover spec

* Remove language from ES mapping
2021-02-04 08:35:00 +07:00
Molly Struve
5a9235ed81
Remove Hacktoberfest Badge Rake Task (#12495) 2021-02-01 09:59:29 -06:00
Nick Taylor
a7da74b993
Cleaning Test Runs for End to End (E2E) Tests (#12143)
* Added custom seed task

* Added a test for the initial login for the intial admin of a forem instance.

* Renamed admin login seed data file.

* Pulled functions out of main Cypress plugin file and import them now.

* Added some comments.

* Added a comment about Cypress tasks requiring a return value to be considered successful.

* Moved admin_login_setup seed file to spec folder.

* Made change requests in regards to rake task.

* Fixed reference to SiteConfig

* Created the seeder class to be shared for all seed files.

* Added a missing param to function comment.

* Fixed seeder require in e2e test seed file.

* Fixed seeder require in seeds.rb. Why is Rails.root required?

* Added an environment guard for not being production in the e2e seed task.

* Made seeder require relative.

* Trying something for the Elastic Search issue in CI.

* Revert "Trying something for the Elastic Search issue in CI."

This reverts commit 7cb2a963c8ac1f9242c612a1b9fe8ff814605df6.

* Search indices are now removed via bundle exec rake search:destroy

* Now rake search:destroy is used in the Cypress task for resetting data as well.

* Moved Seeder class to app/lib

* Added cypress-rails

* Got two flows working with db rollbacks.

* Trimmed down the e2e dataset for now.

* Added a custom Cypress command to encompass test setup.

* removed unused e2e rake task

* added some user login/password e2e tests.

* Added a note about Cypress not cleaning cookies, so we do for the moment.

* Removed code no longer required.

* Removed comment in test that is no longer pertinent to the test suite.

* Removed data cleaning plugins as cypress rails gem handles it now.

* Added @citizen428's recommendation got raising an error if trying to seed production.

* Temporarily have paralleziation of e2e tests disabled to figure out cypres-rails/knapsack pro integration.

* Doh! Forgot a semi-colon in the Travis config.

* Added a comment about not integrating cypress-rails/knapsack pro right now.

* Removed knapsack pro npm package for now as we aren't using it.

* Reworded comment about cypress-rails/kanpsackpro.

* Removed seeding for tags to follow for onboarding in e2e seed data.

* Made pree2e script e2e:setup so it only runs explicitly when needed.

* Renamed bin/e2e to bin/e2e-ci.

* Created a new script for local e2e testing.

* Removed RAILS_ENV as it's in the e2e-ci script already.

* Fixed an auto corrected command.

* Fixed wording in e2e script prompt.

* Removed bundle exec rake data_updates:run that I had added. Doesn't appear to be necessary.

* Added missing new lines.

* Renamed e2e seed file and only use that one now. THere are no others.

* Some script cleanup.

* Added a check for the E2E environment so as to not pollute system tests.

* Now e2e test server cleanup occurs when the server shuts down.

* Put puts as this is really just for testing.

* Put environment variable in the proper place for runnning bundle exec.

* Added a check to only run for E2E tests.

* Some bash script formatting.

* Removed copy paste irrelevant comments.

* Updated e2e server shutdown message.

* Now a data-testid attribute is used for finding the user account errors panel.

* Made test selectors ignore casing of text.

* Removed prod paranoia check in e2e seed file.

* Refactored spec to use new cy.loginUser(user) command.

* Update app/lib/seeder.rb

Co-authored-by: Michael Kohl <citizen428@dev.to>

* Fixed flakiness that @aitchiss was experiencing.

* Rubocop fix.

* Due to a Cypress issue, fixing cookie clearing with another tweak.

* Bumped the wait time to 500ms if cookies don't clear.

* Added a 'bundle check' to the bin/e2e script as suggested by @katiedavis.

* Removed some white space

Co-authored-by: Michael Kohl <citizen428@dev.to>
2021-01-29 13:34:01 +01:00
Kirk Haines
ed74f2f245
Abstract DatadogStatsClient to ForemStatsClient (#12304)
* This change abstracts the DatadogStatsClient into a ForemStatsClient.
The purpose of this abstraction is to set the foundation for a subsequent PR that will allow one to use New Relic for recording Forem stats, instead of Datadog, if there is a New Relic configuration found.
This specific change creates an abstraction layer that can be built upon, without changing any actual default behavior. All specs still pass.

* Use delegate instead of explicit methods.

* Delegate instead of explicit methods.

* Fix the error.

* Refactor according to the suggestions in the comments.

* Ooops.  Stats work better when all of the code is committed.

* Removing the alias of count to increment since that was done in error.
2021-01-27 11:25:44 -05:00
Mac Siri
377439fea3
Disable ResaveArticlesForCodeSnippetFullscreenIcon (#12431) 2021-01-26 09:59:44 -05:00
Mac Siri
a63e7ef367
Expand slugignore & Add auto remove node_module rake task (#12372) 2021-01-22 07:24:26 -05:00
Michael Kohl
5d0fe12528
Update NavigationLink handling (#12316)
* Update copy

* Allow relative URLs and normalize on save

* Update specs

* Move clarification from index to form

* Add data update script

* Update spec
2021-01-20 13:57:59 -05:00
Mac Siri
bdd05f7a9d
Reindex comments' Elasticsearch doc when commentable is updated (#12330) 2021-01-20 09:44:59 -05:00
rhymes
3750ea6544
Remove Liquid::BlockBody patch (#12313) 2021-01-18 08:09:28 +01:00
dependabot[bot]
a63ba17b6a
Bump liquid from 4.0.3 to 5.0.0 (#12150)
* Bump liquid from 4.0.3 to 5.0.0

Bumps [liquid](https://github.com/Shopify/liquid) from 4.0.3 to 5.0.0.
- [Release notes](https://github.com/Shopify/liquid/releases)
- [Changelog](https://github.com/Shopify/liquid/blob/master/History.md)
- [Commits](https://github.com/Shopify/liquid/compare/v4.0.3...v5.0.0)

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

* Convert ActiveSupport::SafeBuffer to string

* Disable echo and render tags

* Disable liquid tag

* Add issue link

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: rhymes <rhymes@hey.com>
2021-01-15 15:37:42 -06:00
Molly Struve
636f4b0ae1
Bug Fix:Increase Default Rate Limit for User Updates to 15 (#12281)
* Bug Fix:Increase Default Rate Limit for User Updates to 15

* spec fix
2021-01-14 12:51:08 -06:00
ludwiczakpawel
0c6c5c55a1
Code snippet fullscreen icon - setting constraints for size. (#12010)
* tooltips 1.0.1

* tooltips 1.0.1

* initial fix

* .

* .

* test

* Add data update script to re-save published articles

* Approve verified diffs

* Fix Rubocop violation

Co-authored-by: rhymes <rhymes@hey.com>
2021-01-13 15:17:10 +01:00
Michael Kohl
b5a9eeb95e
Remove contact_consent from users (#12196) 2021-01-12 16:18:47 -05:00
Michael Kohl
2e202b0399
Remove looking for work columns (#12173)
* Remove looking for work columns

* Fix schema.rb

* Undo accidental change

* Update spec
2021-01-11 11:22:39 +07:00
rhymes
e7f9735354
Remove RssReader (#12169)
* Add script to remove feature flag

* Remove :feeds_import feature flag and RssReader and related classes

* Change Feeds::ImportArticlesWorker signature to support Sidekiq Cron serialization

* Replace RssReader::Assembler with Feeds::AssembleArticleMarkdown

* Removing Assembler
2021-01-08 11:45:15 -05:00
Julianna Tetreault
fd38b77a33
Remove Collective Noun-Related Fields from SiteConfig (#12069) [deploy]
* Removes collective_noun and collective_noun_disabled from SiteConfig

* Adds a data_update script to remove collective_noun fields from Config

* Adds additional guard clauses to collective noun scripts

* Adds an unfinished spec around the removal of collective_noun fields

* Reworks remove_collective_noun_from_site_config_spec test and expectations

* Reverts changes to data_update script and removal of Config fields

* Remove safe navigator from data_update script
2021-01-06 13:24:14 -07:00
rhymes
4aaeb3e955
Feeds::Import: only import feeds that haven't been recently updated (#12126)
* Add earlier_than to Feeds::Import

* Ignore feeds that have been imported in the last 4 hours

* Make earlier_than mandatory in Feeds::ImportArticlesWorker
2021-01-06 16:58:42 +01:00
Julianna Tetreault
6b0626a5e2
Adds collective_noun Fields Back to SiteConfig Model (#12055) [deploy]
* Adds collective_noun and collective_noun_disabled back to SiteConfig model

* Adds a script that appends collective_noun conditionally and matching spec

* Adds a conditional to determine if collective_noun should be appended

* Refactors data_update script logic to be cleaner

* Refactors spec to use method stubs

* Adds a comment to the SiteConfig model about collective_noun fields

* Adds an additional check to the scripts return statement
2020-12-29 15:03:52 -07:00
Alex
eca7be8201
Update bust_user to EdgeCache::BustUser (#12051) 2020-12-29 09:53:00 +01:00
Alex
e0d0fd6c96
Update bust_organization to EdgeCache::BustOrganization (#12048)
* Update bust_organization to service

* Add spec for nil slug

* Update argument check
2020-12-29 09:48:36 +01:00
Julianna Tetreault
13f7f9b353
Disable Community Name Data Update Scripts (#12054) 2020-12-28 14:29:42 -05:00
Julianna Tetreault
ac573b446b
Adds a data_update script that removes collective_noun from SiteConfig (#11973) [deploy] 2020-12-28 10:06:05 -07:00
Julianna Tetreault
ca6ba1af7d
Replace collective_noun with community_name (#11846) [deploy]
* Removes collective_noun and collective_noun_disabled from app

* Config Generalization: replaces community_qualified_name with community_name
  - Generalizes SiteConfig after the removal of collective_noun field
  - Updates copy where necessary to be readable with community_name
  - Makes the community_name SiteConfig description more explicit
  - Adds flexibility for Admins by removing appended "community"

* Adds a data_update script to remove collective_noun and collective_noun_disabled

* Removes appended community from stories_controller.rb

* Removes unnecessary quotation marks around SiteConfig.community_name.to_s

* Makes SiteConfig community_name description more explicit

* Removes topic from #email_from and replaces arg with _

* Removes argument from #email_from (facepalm)

* Reverts changes to application_mailer and notify_mailer_spec

* Removes default "Community" topic from application_mailer and makes topic optional

* Refactors #prepopulate_new_form to resolve Code Climate failures

* Refactors #email_from even further by use of a ternary operator per review suggestion

* Simplifies the data_update script used to remove collective_noun per review request

* Adds a data_update script to append community to community_name

* Updates data_update script to correctly append Community to community_name

* Removes RemoveCollectiveNounFromConfig and updates other script

* Removes superfluous false from data_update script

* Updates data_update script to be more idiomatic
2020-12-28 09:34:17 -07:00
Michael Kohl
63cf95d811
Split BadgeRewarder into multiple services (#11902) 2020-12-23 09:55:06 -05:00
rhymes
3dae3ff797
Upgrade rubocop* packages to the latest version and fix violations (#11972)
* Update erb_lint to track newer Rubocop versions

* Update rubocop-rspec to 2.1

* Fix Rails/WhereEquals and Style/RedundantParentheses

* Upgrade rubocop to 1.1.0

* Enable Rubocop 1.1 cops

* Upgrade rubocop to 1.2.0

* Enable Rubocop 1.2 cops

* Upgrade rubocop to 1.3.0

* Enable Rubocop 1.3 cops

* Enable Rubocop 1.4 cops

* Enable Rubocop 1.5 cops

* Upgrade rubocop to 1.6.x

* Restore previous .reject

* Fork the PR to make sure we don't inject unwanted code accidentally
2020-12-21 18:29:43 +01:00
rhymes
1c8b44f326
Remove GitHub repositories when GitHub identity is removed (#11951)
* Remove GitHub repositories when user deletes their own GitHub identity

* Remove GitHub repos also from the admin remove identity

* Add a notice in Settings/Extension

* Add data update script to cleanup orphan GitHub repos
2020-12-20 15:15:40 +01:00
Ridhwana
c8e56853b7
Updates the email_addresses hash with the contact info (#11967)
* feat: add a new script that updates the email_addresses hash with the contact key

* add a comment to old data script

* feat: add a spec (not passing as yet)

* fix: test passing

* chore: comment script with reason
2020-12-18 18:07:48 +02:00
Anna Buianova
f4c88341ce
Rubocop fixes (#11862) 2020-12-11 17:36:42 +03:00
Ridhwana
23235c2276
feat: update the contact email address in the database (#11848) 2020-12-10 12:35:46 -06:00
Fernando Valverde
c2982ef0fc
Ensure Article's username method returns a downcased string (#11813)
* Adds a lower() query to the DB in Stories#show

* Restructure spec

* bypass article callbacks in order to test edge case

* Fixes spec

* Change the approach to unsure downcase path in Article model

* Move .downcase call to set_caches before_save callback

* Adds data update script for fixing offending Article paths

* Moves model tests to correct block

* Apply suggestions from code review

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-12-09 12:56:40 -06:00
Mac Siri
b00ebc2778
Disable duplicate resave data upgrade script (#11829) 2020-12-09 12:20:30 -05:00
Jacob Herrington
692acd3cb2
Render Profile Fields on user profiles (#11485)
* Render left sidebar attributes on profile

* Display header profile fields

* Make changes to protect DEV data

* Don't render DEV header fields twice

* Wrap profile UI changes in a FeatureFlag

* Add spec to test mulitple display areas

* Use select over reject

Co-authored-by: Michael Kohl <me@citizen428.net>

* Move comment for documentation generators

* Update dev profile fields csv data

Co-authored-by: Michael Kohl <me@citizen428.net>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-12-09 09:41:11 -06:00