Commit graph

1848 commits

Author SHA1 Message Date
Molly Struve
48c47b5c47
[deploy] Log RateLimit hits to Datadog for Better Reporting (#7653) 2020-05-01 16:47:31 -05:00
Vaidehi Joshi
692243ab50
Allow admins to configure default users to follow during onboarding (#7637) [deploy]
* Allow admins to suggest default users to follow during onboarding

Allows the onboarding "follow users" slide to be configured by admins.
Closes https://github.com/thepracticaldev/dev.to/issues/7106.

* Remove redundant safety checks, refactor specs

* Add explicit note about how suggested users are used in onboarding

* Some configs_controller cleanup and fix copypasta in configs/show template

* Fetch SiteConfig.suggested_users via before_action

* Use presence instead of empty?
2020-05-01 14:03:48 -07:00
Molly Struve
ba0ebbafa8
[deploy] RateLimit Refactor: Consolidate Logic for Checking a Limit and Raising an Error (#7636) 2020-05-01 13:31:44 -05:00
Ben Halpern
195da03edf
[deploy] Add proper 301 status to username change redirects (#7650) 2020-05-01 13:36:29 -04:00
Julianna Tetreault
0ee7b97b44
Remove Unnecessary .downcases From the Stories::Controller (#7646)
* Remove unnecessary .downcases from methods in Stories::Controller
  * Removes .downcase from methods using params[:username]
  * Removes .downcase from handle_user_or_organization_or_podcast_or_page_index
  * Removes .downcase from handle_user_index

* Add shared_examples for lowercase routing to stories_index_spec.rb

* Replace create with build in stories_index_spec.rb
2020-05-01 11:24:22 -06:00
Alex
7149070bca
[deploy] Create FastlyConfig & refactor params safe list (#7630)
* Fastly refactor

- Create FastlyConfig
- Create FastlyConfig::Base
- Create FastlyConfig::Snippets
- Move safe_params to its own VCL file
- Rescue unauthorized errors in development
- Add FastlyConfig errors

* Move active version to method

* Update naming option --> config

* Refactor InvalidConfigsFormat msg to Error class

* Refactor active version logic

* Fix log_to_datadog call

* Move get_active_version logic back into method

* Add some specs ¯\_(ツ)_/¯

* Update Fastly rake task

* Remove old Fastly way

* Update docs for Fastly

* Move snippets to config/ & remove old config

* Change update_config to upsert_config

* Change error type to SubclassResponsibility

* Refactor get_updated_files with filter_map

* Refactor update

* Cleanup update_config --> upsert_config

* Fix updater specs
2020-05-01 11:23:48 -04:00
Alex
5060652939
Validate images are files (#7639)
* Validate images are files

* Skip image validation if there aren't any images
2020-05-01 10:39:20 -04:00
Anna Buianova
c734457a44
Fix finding existing podcast episode by website url (#7608) 2020-04-30 19:08:17 -04:00
Molly Struve
2ba6c98e81
Limit 1 message every second for single user (#7631)
* limit 1 message every second for  single user

* increase message limit to 2 in a second
2020-04-30 19:06:19 -04:00
Michael Kohl
46f94b135d
[deploy] Classified listings refactor part 3 (#7498)
* Ignore category column

* Move view oriented class methods to helper

* Start refactoring ClassifiedListingsToolkit

* Add attr_accessor instead of category

* Replace old category column with association

* More cleanup

* Trigger Travis

* Don't rename associations, category_slug -> category

* Indiana Kohl and the missing newline

* More refactoring and spec fixes

* Add dashboard for classified listing categories

* Remove TODO comment

Co-authored-by: rhymes <rhymesete@gmail.com>
2020-04-30 18:57:01 -04:00
rhymes
7ebd95f193
Upgrade field_test to 0.3.2 (#7592)
* Make sure tests are testing the right thing

* Upgrade gem field_test to 0.3.2

* Fix things

* Add test

* Fix typo
2020-04-30 18:43:30 -04:00
Molly Struve
2e67cc252e
return usable error message when chat creation fails (#7629) 2020-04-30 15:49:09 -05:00
Alex
c222f78760
[deploy] Turn off broken article show spec - date time (#7634)
* Turn off broken spec

* Restore original spec
2020-04-30 15:17:07 -04:00
Vaidehi Joshi
8e555201d7
Extract onboarding + mascot configs (#7632) [deploy]
* Move onboarding-related configs into new onboarding section

* Extract mascot-related configs into a mascot section

* Update order of fields in SiteConfig model to match order in view

* Update ordering of specs for onboarding/mascot config changes
2020-04-30 11:54:23 -07:00
Alex
01d4972962
[deploy] Temporary article show date time spec fix (#7633) 2020-04-30 14:32:30 -04:00
Molly Struve
385e167f74
Clear Elasticsearch Data Instead of Resetting Entire Index for Specs (#7602)
* Clear Elasticsearch Data Instead of Resetting Entire Index for Specs

* only reset for specs that are messing with index creation and deletion, recreate indexes before and after those

* add back elasticsearch meta info to specs and update data update specs

* update serializer specs

* update search and rest of specs with new meta data tag
2020-04-30 11:59:10 -04:00
Molly Struve
74e75b4067
[deploy] Rate Limit Organization Creation (#7595) 2020-04-30 10:55:37 -05:00
Molly Struve
1d6c1fe445
load article page AFTER updating the article (#7627) 2020-04-30 10:54:55 -05:00
rhymes
c7c498834f
[deploy] Authentication refactoring: generalize account settings (#7597)
* Rename remove_association to remove_identity and future proof its tests

* Use the signin_path everywhere

* Generalize account settings

* Use delegation
2020-04-30 17:29:53 +02:00
rhymes
014ec65e6b
Add multiple select to authentication providers configuration (#7609)
* Add multiple select to authentication providers configuration

* Remove hardcoded providers from SiteConfig
2020-04-30 17:28:08 +02:00
Mac Siri
2ea320a245
Support docker-selenium (#7583)
* Support use of selenium-docker

* Apply suggestion

* Add documentation
2020-04-30 11:07:45 +02:00
Julianna Tetreault
82f28a00fc
[deploy] Redirect Uppercase Routes to Lowercase Routes in the Stories::Controller (#7550)
* Add route_downcaser gem to Gemfile to make routes case-insensitive
  * Ensures paths are downcased and redirects to lowercase routes
  * Resolves SEO issue where uppercase routes do not redirect to lowercase

* Add before_action to redirect to lowercase user routes
  * Adds a before_action for the index only
  * Redirects lowercase usernames and article titles
  * Comments out route_downcaser gem in Gemfile for now

* Redirect to lowercase usernames in StoriesController#show for uppercase usernames
  * Redirects in before_action for the index method only
  * Adds nil check in #redirect_to_lowercase_username
  * Adjusts stories_index_spec.rb to be more concise
  * Removes old and unnecessary code from StoriesController and spec

* Add additional testing around lowercase name redirects and aggregate_failures

* Replace hardcoded URL with URL helper in Stories::Controller and stories_index_spec

* Fix GET request in stories_index_spec.rb

* Use upper in place of A-Z in regex in redirect_to_lowercase_username

* Revert URL helper changes and use params instead in Stories::Controller and stories_index_spec
2020-04-29 15:47:43 -04:00
Molly Struve
a4cc606291
[deploy] Remove Elasticsearch from Index Worker Names (#7594) 2020-04-29 12:12:29 -05:00
Molly Struve
4c779be2ed
[deploy] Remove ALL Algolia Code (#7577) 2020-04-29 10:11:57 -05:00
rhymes
8407bf9b4e
[deploy] Authentication refactoring: cleanups (#7576)
* Use Devise registry to list available providers

* Cleanups following Devise+Omniauth docs

* More cleanups

* Use helpers

* More cleanups

* Oops, forgot to remove these specs
2020-04-29 10:33:30 -04:00
Anna Buianova
346ce44169
[deploy] Configurable meta keywords (#7591)
* Added configurable meta keywords

* Replaced hardcoded meta-keywords with the configurable ones

* Added tests for configurable meta_keywords

* Improve info for configuring meta-keywords
2020-04-29 09:40:06 -04:00
Molly Struve
566a3e30e9
[deploy] Remove Algolia from Reaction and Algolia Workers (#7571) 2020-04-28 15:10:56 -05:00
Yechiel Kalmenson
131d11aa73
[deploy] Add optional fields to user (#7246)
* add optional fields to user

- this provides the back-end implementation for #2365

* fix mistakes in schema.rb

* renamed OptionalField to userOptionalField

* rename field column in user_optional_fields to label

* add uniqueness validation on user_optional_field labels

* scope flag uniqueness to user_id

* add indexing on label in user_optional_fields

* add optional fields to user

- this provides the back-end implementation for #2365

* fix mistakes in schema.rb

* add index on user_id for user_optional_fields

* Remove duplicate model

* Fix schema

* Re-add past indexes

* Remove old index

* Remove another old index

* add `null:false` to columns in optional fields

* add `null: false` to the migration

- Updated test to account for the null constraint

* add null:false to user_id on user_optional_tables

Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-04-28 15:42:41 -04:00
Sai Bhargav
279de9cb21
Fix typos in specs (#7572) 2020-04-28 14:32:33 -05:00
Molly Struve
d910945c74
Dont double up on cache busting and reactable updates when destroying reactions (#7568) 2020-04-28 13:34:50 -05:00
Molly Struve
af673221bc
[deploy] Ignore Search::Errors::Transport::NotFound error when Removing Reactions (#7567) 2020-04-28 10:56:25 -05:00
Ridhwana
a9b2508664
[deploy] Configure the community_member_label (rails console update required) (#7564)
* feat: add base site config

* chore: rename developer/developers

* feat: update to use community_member_label

* chore: amend text

* chore: update spec

* chore: extra space
2020-04-28 16:56:29 +02:00
Molly Struve
ee373fa6c0
[deploy] Remove Algolia from Article Model (#7540) 2020-04-28 09:55:48 -05:00
rhymes
883eb170de
[deploy] Authentication refactoring: add available and enabled providers (#7505)
* Add Providers(.available|.enabled|.enabled?)

* Add provider_sidebar partial

* Add providers_signup_modal partial and Providers.sign_in_url

* Use path helpers

* Add providers_nav_menu partial

* Add providers_registration_form partial

* Generalize users/additional_authentication

* Refactor sign_in_path and authentication_path

* Add .official_name and fix specs

* Preload authentication providers correctly and use less Ruby magic

* Put require_dependency in the correct place
2020-04-28 16:16:28 +02:00
Ben Halpern
8f2c32249c
[deploy] Fix podcast pagination client/API mismatch (#7375)
* Fix podcast pagination API

* Adjust css for podcast header

* Adjust test

* Adjust test
2020-04-28 10:07:36 -04:00
Sai Bhargav
2d20d67594
[deploy] Fix listing tags bug (#7533)
* Fix listing tags bug

* Fix failing specs

* Fix failing specs

* Fix failig spec

* Fix failing specs

* Refactor code

* Fix failing specs

* Support AND/OR queries based on params

* Add tag_boolean to search params
2020-04-28 16:04:09 +02:00
Ridhwana
8140e46ceb
Add some placeholder pages (#7441)
* feat: add placeholders for some routes

* about_listings_url

* feat: tag-moderation

* chore: about_listings_url test

* chore: use post a job url

* chore: add pages methods

* chore: just reordered stuff

* oops forgot to save - oh man

* chore: change to single quotes

* chore: hopefully retrigger cc

* chore: update tests

* feat: PR suggestions:)

* chore: spec
2020-04-28 15:55:59 +02:00
rhymes
178a049262
Add SVG optimizer (#7542) 2020-04-28 08:28:25 -04:00
Renan Bona
b93306ecc8
Create Articles builder and refactor articles_controller (#7381)
* Create Articles entity and refactor articles_controller

* Add safe operator into action new from articles_controller

* Renaming files for better understanding

* Move some logic from the articles controller to articles builder

* Add method normalized text into articles builder
2020-04-28 12:24:51 +02:00
Molly Struve
5bf12a51d7
Clear Elasticsearch data for user viewing timeline specs (#7549) 2020-04-27 17:11:47 -05:00
Molly Struve
8eb4612166
[deploy] fix podcast episode comment rendering and write a spec for it (#7547) 2020-04-27 14:56:03 -05:00
Rafi
bdcfba7d70
[deploy] Saving youtube url (#7516)
* Saving youtube url

* Fixing description in the spec

* Optimizing youtube logo svg

* Fixing indentation of form
2020-04-27 14:14:07 -04:00
rhymes
8b82103fd0
Escape titles to avoid encoding issues (#7535) 2020-04-27 12:27:19 -04:00
rhymes
2d26318cf9
[deploy] Replace (black|white)list with more inclusive language (#7459)
* Replace isBlacklisted

* Update fastly.rake task

* More renames

* Rename Faslty config file

* More changes

* Replace isForbiddenFromPreloading with isNotPreloadable

* Skip problematic test

* Re-enable
2020-04-27 18:00:12 +02:00
Andy Zhao
ae4ba673c4
[deploy] Show reactable username for reactable_type == User (#7527)
* Show reactable username for reactable_type == User

* Add test for GET /internal/reports vomit reaction on user
2020-04-27 11:27:45 -04:00
Molly Struve
527c98fa01
[deploy] remove no longer used index! and check for main_image method in view (#7526) 2020-04-27 10:16:49 -05:00
rhymes
d87c3dbb18
[deploy] Improve comment posting error handling (#7519)
* Improve comment posting error handling

* Incorporate PR suggestions
2020-04-27 16:54:59 +02:00
Tam Chau
ffba42cf43
Add expires_in option for ActiveSupport::Cache::RedisStore#increment method (#7515)
* rails patch to fix expires_in for increment method

* fixup! rails patch to fix expires_in for increment method

correct test case

* fix redundant file name & class name

* add comment to explain monkey patch for RedisCacheStore#increment
2020-04-27 16:40:49 +02:00
Ridhwana
b9a8d87e95
[deploy] Refactor to create a helper for the mailer links (#7502)
* refactor: set the email_from to use in teh defaults

* chore: remove some new lines

* feat: add a mail link helper that can be used in the views

* feat: returns the default if it doesn't understand the parameter

* feat: Quick replacement of links

* feat: allow subject to be passed through

* chore: update all hrefs

* chore: remove rel attribute

* chore: mail link

* update spec

* chore: space

* chore: update some whitespaces and emails

* style

* chore: PR mail_link to email_link and the comment

* feat: PR suggestions for encoding

* feat: use mail_to
2020-04-27 09:18:16 -04:00
Ben Halpern
d447d0cadf
[deploy] Update design and functionality of internal/articles (#7517)
* Update design and functionality of internal/articles

* Fix spec

* Update specs

* Fiddle with test

* Fix request spec
2020-04-26 18:27:09 -04:00