Commit graph

115 commits

Author SHA1 Message Date
Michael Kohl
667437ebf2
[15-minute fix] Add ThrottledCall to DisplayAdEventsController (#12924)
* Add ThrottledCall to DisplayAdEventsController

* Update old spec
2021-03-09 09:06:11 +07:00
Michael Kohl
a432ab7b3f
Spike: Add ThrottledCall utility class (#12779)
* Add ThrottledCall utility class

* Rename class level interface method

* Update worker to use ThrottledCall

* Add ThrottledCall spec to worker
2021-03-01 08:51:04 +07: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
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
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
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
Molly Struve
4db300e348
Bug Fix:Update Article Cached Org and Docs When Org is Deleted (#12100)
* Bug Fix:Update Article Cached Org and Docs When Org is Deleted

* update cached entity spec
2021-01-04 12:36:28 -06: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
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
Ridhwana
bae2571ad6
Replace the "setup onboarding profile fields" temp rake task with a data update script (#11800)
* feat: replace the temp rake task with a data update script

* oops we need a user
2020-12-08 17:50:43 +02:00
Michael Kohl
8f5cfa2c0f
Drop profile columns from user (#10707)
* Prepare to drop profile columns from user

* Update code and factory

* Also remove unused constant

* Move validation from user to profile

* Remove Profiles::ExtractData service object

* Add more comments

* Simplify sameAs attribute generation

* Obey me machine, I am your master

* Fix condition order in guard clause

* Temporarily disable callback

* Fix specs

* Reduce usage of Profile#refresh_attributes!

* Remove leftover comment

* Handle social media links differently

* More spec fixes

* Fix specs for admin profile fields controller

* Fix specs after merge

* Fix remaining specs

* Update user show request spec

* Add comment for follow_hiring_tag

* Only save profile when user is valid

* Fix seeds.rb for profile fields

* Switch from before_save to after_save

* Undo unrelated formattin change

* Update spec/fixtures/files/profile_fields.csv

Co-authored-by: Molly Struve <mollylbs@gmail.com>

* Remove data update script and spec

* Fix spec

* Fix typo in comment

* Fix typo in comment

* Move article resave logic to service object

* Move profile field creation to before(:suite)

* Refactor error handling in Profiles::Update

* Fix Profiles::Update specs and refactor

* Temporarily disable spec

* Add ProfileValidator

* Clean up

* Move DB ready check into app/lib

* Refresh attributes after importing from CSV

* Fix specs

* Remove unused file

* A girl has no name. A profile neither.

* Fix specs

* Add responds_to? check

* Spec fix

* Add name to user fields in profile settings page

Co-authored-by: Molly Struve <mollylbs@gmail.com>
2020-12-03 08:14:38 +07:00
Ben Halpern
d759ac4627
Add implicit points to follows to improve feed relevancy (in all algorithms) (#11513)
* Fix menu dropdown disable issue

* Initial base work

* Add real algorithm

* Add working object and test

* Fix schema

* Fix schema

* Fix schema

* Finalize

* Add update script and explict_points

* Proper implicit/explicit points

* Fix tests

* Add docs

* Fix tests

* Fix data update script test

* Fix data update script test

* Fix typo

* Improve efficiency and add more logic

* Changed to find_each

* Change to bulk insert

* Update tests and refactor logic

* Various improvements

* Fix typo

* Fix tests

* Remove extra line

* Fix tests

* Fix test typo

* Cache site-wide tag names
2020-11-25 16:09:51 -05:00
Michael Kohl
6804b8b8cb
Update data update script (#11350) 2020-11-16 10:06:00 -06:00
Michael Kohl
d64943958d
Prepare for profile column drop (#11246)
* Add new display area for settings only fields

* Update CSV importer

* Prepare for dropping profile columns from user

* Update spec

* Don't migrate nil values

* Update spec

* Update forem:setup task
2020-11-09 10:17:39 +07:00
Krzysztof Rybka
20a19daa67
Copy username to search_fields (#11045)
* Copy username to search_fields

* Add test for searching by a username

* Add data update script for reindexing users for username search

* Comment out ReindexUsersForProfiles update script

Co-authored-by: rhymes <rhymes@hey.com>
2020-11-02 08:38:15 -06:00
Michael Kohl
32f2b2d58f
Automatically mark tag supported when adding mod (#11151)
* Automatically mark tag a supported when adding mod

* Add data update script
2020-10-30 09:46:10 -04:00
Alex
94cd9e246f
[deploy] Add default for main_social_image (#11126)
* Add default for main_social_image

* Fix image URL and add spec

* Fix spec

* Move image_url helper into image module

* Fix typo in comment

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

* Change URL helper logic

* Try something else

* Use ApplicationConfig

* Refactor

* Try again

* Try again with another approach

* Add specs for URL.local_image

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-10-29 10:07:14 -04:00
Jacob Herrington
d479834344
Do not set SiteConfig values in specs (#11125) 2020-10-27 15:56:31 -04:00
Ben Halpern
d822d8d7d9
Fall back to configured social image instead of hardcoded (#9747)
* Fall back to configured social image instead of hardcoded

* Move from constant to method for config inclusion

* Fix spec

* Fix test
2020-10-27 08:54:45 -04:00
Tudor Pavel
52cf81624e
Preserve newlines and indentation in <pre> tags from RSS import (#10922) 2020-10-20 09:25:57 -04:00
Mac Siri
dd8745ca33
[deploy] Store Article's main_image path unprocessed (#10867) 2020-10-16 14:46:37 -04:00
Rafi
2c6555939e
Handling links from different domain (#10479)
* Preventing url from other domains

* Converting slug to keyword

* Changing wording of error message

* Changing wording of error message

* Fixing breaking test
2020-09-29 13:36:32 -04:00
Hugo Peixoto
24e9f81f5a
Fix newlines being chomped in RSS import (#10476)
The CustomText converter was monkey patched to fix a bug related to
preserve_tags. Somewhere in that process, remove_inner_newlines was
changed to strip newlines completely, instead of replacing them with a
single space. This restores that functionality.

In development mode, files are not eager loaded. That means that the
converters were not being required, so it was not possible to reproduce
that issue in development mode (since it was falling back to the
original converter, which does not have the bug). This commit also adds
an initializer that requires every converter.
2020-09-29 10:38:36 -04:00
Molly Struve
635e9e7365
Bug Fix:Remove Reaction Index By Name (#10430) 2020-09-25 10:34:29 +07:00
Molly Struve
727b1a6134
Refactor:Remove Reactions Index (#10426) 2020-09-24 10:11:05 +07:00
Molly Struve
e9cb7b2fd9
[deploy] Refactor:Remove Reaction Search Code (#10377) 2020-09-23 12:27:50 -05:00
Michael Kohl
ebc894a07c
[deploy] Changes to profile field indexing (#10313)
* Update mapping

* Update user search serializer

* Add data update script for reindexing users

* Only index roles for persisted users

* Add conditional to profile search serialization

* Update data update scripts

* Update spec for data update script
2020-09-16 17:15:22 -04:00
Ben Halpern
3a469a99e2
[deploy] Enable admin-configured app_domain (#10206)
* Move app_domain from env var to siteconfig *within app area*

* Fix SiteConfig

* Don't change URL.domain yet

* Not use in fastly cache purge yet

* Session store magoo

* Revert domain issue

* Add SetCookie middleware

* Temporarily remove cookie middleware and release tasks

* Re-enable SetCookieDomain

* Add some more comments, get it ready for testing

* Remove host from url options and temporarily show errors

* Allow forwarded host to be cookie

* Fix typo

* Change invalidAuthenticityToken

* Properly set app domain

* Proper Fastly cache

* Remove config.app_domain

* Remove config.app_domain

* Explicitely set remember_user_token

* More play with cookies

* Fiddle with remember_user_token

* Add remember_user_token changes

* Monkeypatch devise

* Sessions controller

* Include rememberable

* Include rememberable

* Proper cookie monkeypatch

* Proper cookie monkeypatch

* Proper cookie monkeypatch

* Remove extra cookie code

* User sign in tweak

* Close the loop

* Experiment with carrierwave public_url

* Finalize carrierwave monkeypatch

* Remove async controller specs

* Change some tests

* Update domain test

* Remove temporary production.rb change

* modify cookie logic

* Remove unneeded changes

* Remove unneeded changes

* Explicitely pass host

* Fix linting

* Fix social image test

* Add some cookie tests

* Modify article url

* Fix canonical urls

* Fix typo

* Remove sessions controller

* Remove devise monkeypatch

* Add monkeypatch

* Remove elsif

* Update spec/helpers/application_helper_spec.rb

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

* Adjust remember_cookie_sync

* Remember user token experimentation

* Fiddle with devise

* Properly configure devise

* Fix typo

* Fix formatting issue

* Add comment about middleware

* Fix typo

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

* Remove commented-out code

Co-authored-by: Michael Kohl <citizen428@dev.to>
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-09-11 09:38:34 -04:00
rhymes
b185dca976
[deploy] Remove draft articles with duplicate feed source URL and cleanup invalid data: take 2 (#10239) 2020-09-08 11:53:41 -05:00
Michael Kohl
acaeba0b3e
Fix spec (#10235) 2020-09-08 09:10:37 +07:00
Molly Struve
2f36630ff0
Revert "Remove draft articles with duplicate feed source URL and cleanup invalid data (#10205)" (#10209)
This reverts commit 375f79099e.
2020-09-04 12:22:06 -05:00
rhymes
375f79099e
[deploy] Remove draft articles with duplicate feed source URL and cleanup invalid data (#10205) 2020-09-04 11:20:59 -05:00