Commit graph

369 commits

Author SHA1 Message Date
rhymes
34848a4209
Upgrade Rubocop to 0.81 (#7219)
* Upgrade rubocop to 0.81.0

* Reordered rubocop file and updated it

* Regenerate todo

* Correct some things

* Fix specs
2020-04-11 10:10:04 +02:00
Molly Struve
10b094b4b6
[deploy] refactor data syncing methods to use a base class and take a single argument (#7204) 2020-04-10 11:11:35 -05:00
rhymes
63893e4ac1
Upgrade twilio-ruby to 5.33.0 and elasticsearch to 7.6.0 (#7208)
* Upgrade gems

* Switch ES client to Patron
2020-04-10 15:30:51 +02:00
Mac Siri
604345a85a
Allow img's data-src in RSS (#7195) 2020-04-10 10:47:14 +07:00
Molly Struve
26acabce51
[deploy] add custom sorting and scoring for feed content (#7199) 2020-04-09 18:30:27 -04:00
Andy Zhao
2d56ec18ed
[deploy] Add rate limit for article updates (#7166) 2020-04-09 08:30:21 -05:00
Molly Struve
578d09a54e
[deploy] return cloudinary url to ensure videos are viewable in feeds (#7157) 2020-04-08 15:47:47 -04:00
Molly Struve
2048bf00f7
[deploy] keep articles updated in Elasticsearch when organization is updated (#7154) 2020-04-08 10:49:06 -05:00
Guilherme Vinicius Moreira
9618ccc927
[deploy] Add new user attributes to elasticsearch (#7123)
* chore(user): add new user attributes to elasticsearch

* Fix schema.rb
2020-04-07 13:16:15 -04:00
Molly Struve
bca0573a14
rescue invalid URL errors and mark as unreachable for podcast episodes (#7137) 2020-04-07 12:32:04 -04:00
Molly Struve
b1ebc32e45
hook up data syncing for articles and switch to using call (#7115) 2020-04-07 09:39:23 +02:00
Vaidehi Joshi
b72fc4c9f8
Remove variants from backend portion of onboarding (#7118) [deploy]
* Remove variants from backend portion of onboarding

Since we're no longer using variants in onboarding, we don't need this code anymore!

* Ignore unused column on user, onboarding_variant_version
2020-04-06 16:30:11 -07:00
Molly Struve
6f95744698
Move create PodcastEpisode callbacks to create Podcast Service (#7077) [deploy]
* move create podcast callbacks to create podcast service

* add indexing spec to creator
2020-04-06 12:41:00 +02:00
Vaidehi Joshi
3f8961a299
Remove onboarding type broadcasts (#7067) [deploy]
Also clean up some pending comments.
2020-04-03 13:11:49 -07:00
Molly Struve
5f322210ce
[deploy] Separate counts by class_name from Feed Content index (#7069) 2020-04-03 13:36:13 -05:00
Molly Struve
2ef17099ed
By Default Search for Users that are not Banned (#7052)
Co-authored-by: Mac Siri <krairit.siri@gmail.com>
2020-04-03 10:03:24 -05:00
rhymes
f2b0be2043
Add Slack messengers: part 2 (#6916)
* Add Slack::Messengers::ArticlePublished

* Add Slack::Messengers::ReactionVomit

* Add Slack::Messengers::CommentUserWarned

* Add missing URL helpers

* Add Slack::Messengers::ArticleFetchedFeed

* Remove callback condition

* Build, don't create
2020-04-03 17:00:06 +02:00
Molly Struve
44d0be9c76
[deploy] Setup User Elasticsearch Doc Syncing (#7049)
* sync related Elasticsearch docs when a user is updated

* check for changes in all user nested keys

* put user fields into a constant for easy access
2020-04-03 10:07:32 -04:00
Molly Struve
40f15e68d0
[deploy] Delete all users via the DeleteWorker for consistency (#7013) 2020-04-02 19:26:58 -04:00
Vaidehi Joshi
a3d12e03a3
Add set_up_profile notification, check for active broadcasts (#7054) [deploy]
* Replace current onboarding notification with set_up_profile welcome notification

Also ensure that only "active" set_up_profile welcome notification is sent, and that "inactive" ones are ignored.

* Notify only if broadcast active, log error if broadcast not found

* Reports to Honeybadger if an active broadcast cannot be found

* Reorganize order of generator specs

* Ensure welcome_broadcast can be written to in spec

* Remove redundant spec
2020-04-02 15:56:29 -07:00
Molly Struve
bdd4e59f0f
[deploy] return fields needed to populate the view for podcast episodes (#6986) 2020-04-02 09:21:25 -05:00
Molly Struve
a396660986
Remove Comment and Article docs From Elasticsearch During User Delete (#7008)
* remove comment and article docs when they are deleted

* fix banish user spec to handle ES deletes

* remove comments from elasticsearch when deleted via delete comments service
2020-04-01 16:01:16 -04:00
Vaidehi Joshi
e23e69d4b2
Prompt users to ask a question/start a discussion (#7007) [deploy]
* Add a discuss/ask notification(s) to seeds + factories

* Add a start discussion/ask question welcome notification

* Add a scope for finding articles published by a user + with a certain tag.

* Some clean up/refactoring in the generator

* Reorganize welcome notification sending, add specs for discuss/ask notification
2020-04-01 11:57:50 -07:00
Molly Struve
05b6220e2d
[deploy] reindex articles to Elasticsearch in places where relations are updated or update_column is used (#7003) 2020-04-01 10:59:30 -05:00
Mac Siri
95f18b4592
Create alias for User's welcome_notification (#6991) 2020-03-31 20:22:55 -04:00
Mac Siri
fc728af0cd
Prompt new users to customize their feed (#6979) 2020-03-31 17:32:11 -04:00
Ridhwana
577fda683c
chore: rename function name consistently with the other function names in the file (#6970) 2020-03-31 16:20:39 +02:00
Lucas Hiago
40310bbc59
Refactor method delete_activity (#6928) 2020-03-31 11:27:52 +02:00
Vaidehi Joshi
28956d90a5
[deploy] Prompt new users to customize their experience (#6959)
* Rename find_broadcast to find_auth_broadcast

* Fix broken div rendering on /notifications tab

* Allow customize notification to be enqueued

* Add specs for customize welcome notification

Also clean up existing specs to match!

* Rename customization notification method for clarity

* Remove some redundant assertions in generator spec
2020-03-30 19:17:52 -04:00
Molly Struve
72f04e4a13
Create Reactions Index in Elasticsearch and Serializer (#6899)
* create index for reactions and their reactables, set up serializer

* use respond_to instead of checking type

* remove rubocop change

* add last_indexed_at to reactions index
2020-03-27 18:44:54 -04:00
Molly Struve
974ba032da
Add last_indexed_at Timestamp to all Elasticsearch indexes (#6913)
* add last_indexed_at to all Elasticsearch indexes

* use Time.zone.parse
2020-03-27 18:43:46 -04:00
Mac Siri
2c5e12268f
Implement authentication welcome notification (#6846) 2020-03-27 15:21:40 -04:00
Ben Halpern
e35d55c422
Add pagination to tag pages for better SEO crawling (#6771) [deploy]
* Add pagination to tag pages for better SEO crawling

* Modify system specs

* Add some tests

* Finalize tests

* Fix things up

* Add url helpers
2020-03-27 10:34:42 -04:00
Jacob Herrington
38d56542eb
[deploy] Moderator and admin actions log (#6797)
* Add audit logging for negative reactions

This change saves requests that create negative reactions to the audit
log. We need to be monitoring admin and moderator actions throughout the
app to increase visiblity on how our tools are being used and identify
abuse.

Additionally, this will help east concerns about giving elevated users
more powerful tools.

* Add a basic UI for moderator audit logs

* Log experience level ratings

* Log tag adjustments

* UI tweaks for moderator actions log

* Add logging to internal reactions controller

* Add logging for admin actions on users and articles

* Add searching to the moderator actions table

* Move audit instrumentation out of concern

We are able to use a PORO here instead of using a Rails concern. Moving
this also makes syntax to audit something quite a bit more explicit and
obvious to future developers

* Change moderator logs pagination page length

* Move auditing to after action filters

* Add moderator actions to the internal navbar

* Add request spec for internal moderator actions

* Use request params to populate AuditLog slug
2020-03-26 16:59:24 -05:00
Vaidehi Joshi
c12cea9b02
Allow users to opt-out of welcome notifications (#6852) [deploy]
* Update some test descriptions in notifications_spec

The descriptions of these tests didn't actually match the test's assertions!

* Add welcome_notifications column to users table

Also ensures that welcome_notifications cannot be set to `nil`.

* Show an opt-out message for Welcome broadcast notifications

* Add opt-out link to notifications + welcome notification box to settings

* Allow welcome notification subscription to be updated

* Add tests for unsubscribed to welcome notification users

Also refactor generator specs a bit.

* Fix up paths, copy, tests

Use rails path helpers instead of hardcoding paths. Improve copy in a few locations.
2020-03-26 11:26:19 -07:00
Alex
129cd3ba83
Log Elasticsearch index counts to Datadog (#6845) [deploy] 2020-03-25 15:52:54 -05:00
rhymes
cfb64a1c68
Add URL module and article_url, user_url helpers (#6833)
* Add AppURL with .article and .user

* Use URL.url and URL.user

* Add article_url and user_url helpers
2020-03-25 13:54:45 -04:00
Molly Struve
94c7bd3a95
return default aspect ratio of 1 if gif id is not present and refactor (#6837) [deploy] 2020-03-25 11:21:47 -05:00
Molly Struve
5e28bbc133
Filter source when returning feed content docs (#6834) 2020-03-25 11:17:24 -05:00
Mac Siri
84e84af8d7
Create Article#admin_published_with scope (#6794) 2020-03-24 18:15:43 -04:00
rhymes
22822d448d
Add App.url and use it with Slack messengers (#6818)
* Add App.url

* Use App.url with Slack messengers
2020-03-24 17:22:09 -04:00
rhymes
e9e4059ad3
Add Slack messengers: part 1 (#6748)
* Add Slack::Announcer and SlackClient

* Add Slack::Messengers::Feedback class

* Use Slack::Messengers::Feedback and refactor test

* Should not raise an error if params are nil, let the job fail

* Add Slack::Messengers::Sponsorship

* Rename spec

* Use Slack::Messengers::Sponsorship

* Add Slack::Messengers::PotentialSpammer

* Use Slack::Messengers::PotentialSpammer

* Add Slack::Messengers::RateLimit and use it

* Refactor a bit and improve tests

* Add Slack::Messengers::Note and use it

* Use Slack::Announcer and fix spec

* Fix specs

* Update app/services/slack/announcer.rb

Co-Authored-By: Vaidehi Joshi <vaidehi.sj@gmail.com>

* Implement review suggestions

* Empty commit to trigger Travis

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-03-24 18:45:40 +01:00
Molly Struve
eab6c02f33
More Backend Feed Search Updates (#6784) [deploy] 2020-03-24 08:15:02 -05:00
Ben Halpern
da8dbd2180
Add feed variants with shuffle post-ranking (#6766) [deploy]
* Add feed variants with shuffle post-ranking

* Refactor tests and fix erroneous shuffle
2020-03-23 18:09:30 -04:00
Molly Struve
d39b2133a4
Add Additional Search Fields and Search Highlighting (#6734) [deploy] 2020-03-20 08:59:58 -05:00
Molly Struve
c3b88d19de
Dont let HTTParty::RedirectionTooDeep Errors kill Podcast Ep. Update Workers (#6735) [deploy]
Co-authored-by: lightalloy <lightallloy@gmail.com
2020-03-20 08:19:14 -05:00
Julianna Tetreault
e8183189a7
Add welcome thread welcome notification (#6221) [deploy]
* Add Welcome Thread Broadcast to generator.rb

* Add welcome trait to broadcasts.rb

* Add additional tests around welcome_broadcasts:
- ensure that the correct Broadcast is sent
- ensure that a User only receives a single Notification
- ensure that only certain Users receieve the Notification

* Refactor and remove unncessary code from generator.rb and generator_spec.rb

* Refactor generator_spec and eagerly load welcome_thread_comment to get spec passing

* Initialize user in place of receiver_id in generator.rb

* Add before action to make generator_spec more readable

* Add latest_published_thread method to generator.rb

  * Update generator.rb to be reusable with latest_published_thread
  * Update generator_spec to use welcome tags for Article obj
  * Create mascot_account using let to reduce User creation in spec

* Adjust expectation for a User who should not receive a notification
2020-03-19 18:57:32 +01:00
Molly Struve
4a4d83a6cf
Add Feed Content Backend Search Code (#6699) [deploy]
* Add search code for feed content to the backend

* add search for class_name
2020-03-18 15:51:26 -04:00
Molly Struve
ea70d4c4b9
refactor query builders but pulling out common logic into a base class (#6678) 2020-03-18 08:34:20 -05:00
Molly Struve
92a8d624c3
move pagination methods to base search class (#6683) [deploy] 2020-03-18 09:14:07 -04:00