Commit graph

374 commits

Author SHA1 Message Date
Josh Puetz
73c16c9a9d
[deploy] Tweak comments in feed (#7261)
* Only include needed fields for top comments

* Test for included user info in comments in feed

* Omit hidden and deleted comments from feed json

* Optimize selected columns from comment

* Revert field selection to prevent user n+1

* Add profile_image_90 to users in comments in feed
2020-04-14 15:23:14 -05:00
Michael Kohl
c8845e647a
[deploy] Remove Google Analytics page counts (#6969)
* Remove Google Analytics page counts

* Update spec

Co-authored-by: rhymes <rhymesete@gmail.com>
Co-authored-by: Ben Halpern <bendhalpern@gmail.com>
2020-04-14 10:44:05 -04:00
Molly Struve
07050baa28
[deploy] Refactor search_documents Method Into Search Base.rb Class (#7260) 2020-04-14 08:39:50 -05:00
Molly Struve
91972dd2c4
ensure that when Tag and ActsAsTaggableOn::Tag are updated their respective related docs are as well (#7218) 2020-04-14 08:38:09 -05:00
Josh Puetz
802e225a07
[deploy] Add top comments to articles feed (#6988)
* Add 'top_comments' to article feed

* Only include root comments

* Cache and eagerly load top comments

* Clear top comments cache when article score is updated

* Add articles.top_comments to bullet whitelist

* Update app/models/article.rb

Co-Authored-By: rhymes <rhymesete@gmail.com>

* Remove limit in top_comments association, remove Rails caching of top comments

* Remove unnecessary test

Co-authored-by: rhymes <rhymesete@gmail.com>
2020-04-13 10:21:03 -04:00
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