Commit graph

346 commits

Author SHA1 Message Date
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
Michael Kohl
3b3808f2f6
Remove leading whitespace in tags during RSS import (#6671) 2020-03-17 10:48:39 -04:00
Ben Halpern
8b0cfaf48a
Add two new experiments and one new conversion event (#6633) [deploy]
* Add two new experiments and one new conversion event

* change hours in 7 to 24
2020-03-16 18:16:02 -04:00
Andy Zhao
d08f830d86
Add response templates model and table (#6615)
* Add response templates model and table

* Add missing factory oops

* Remove response templates on delete

* Remove moderator_id column from comments for now

* Use constants and add spec for response templates
2020-03-16 09:52:03 +07:00
Molly Struve
1997e66741
Implement User Search backend (#6606) [deploy] 2020-03-12 14:57:10 -04:00
Michael Kohl
909519c5d5
Search::Client refactor (#6440)
* Refactor Search::Client

* Fix stack overflow error
2020-03-10 22:21:12 +01:00
Ben Halpern
923afed4e4
Move math around parenthases in score_experience_level (#6569) [deploy]
* Move math around parenthases in score_experience_level

* Clean up tests

* Remove flash notice from comments form
2020-03-10 14:14:08 -04:00
Molly Struve
5ec96613df
dont delete chat channel memberships multiple times (#6556) 2020-03-09 20:04:40 -04:00
Ben Halpern
8157196fd3
Rename one more method (#6558) [deploy] 2020-03-09 17:01:47 -04:00
Molly Struve
7df5e6cfae
Rename feed method to correct name (#6557)
* rename method to correct name

* fix spec
2020-03-09 16:59:38 -04:00
Josh Puetz
a01d787301
Create comment ranking feed experiment (#6511) [deploy]
* Create more comments feed experiment

* Hook up experiment, rename

* Remove flakey test assertion
2020-03-09 14:20:02 -05:00
Vaidehi Joshi
99c87d7a17
Replace WELCOMING_USER_ID with mascot_user_id (#6484) [deploy]
Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>

Co-authored-by: Julianna Tetreault <32834804+juliannatetreault@users.noreply.github.com>
2020-03-09 08:08:53 -07:00
Alex
20b6c77875
change classified_listings to .destroy_all (#6517) 2020-03-09 09:42:06 -04:00
Andy Zhao
478d1b36a5
Hide banished users vomit confirmations and delete vomit reactions on banish (#6507) [deploy]
* Update to hide only banished users

* Refactor and move into a model method

* Delete vomits on banished users

* Add tests for banishing users
2020-03-06 15:35:30 -05:00
Josh Puetz
e2f190512b
Guarantee articles in main article feed (#6490) [deploy]
* Adjust feed offset, remove time limits for main feed

* Improve offset construction readability
2020-03-06 12:29:07 -06:00
Ben Halpern
d2bd9e95ae
Add more tag weight/more random variant (#6451) [deploy] 2020-03-04 12:44:52 -05:00
Molly Struve
f749504005
Remove Global Feed cache key (#6434) [deploy]
* ensure cache key is unique for tag and page for globally cached hot articles

* remove cache altogether
2020-03-04 09:56:48 -05:00
Josh Puetz
6d7cbfff1f
Restore featured story on timeframe pages for logged out users (#6427) [deploy]
* Restore featured story on timeframe pages for logged out users

* Handle arrays and empty collections when finding featured article
2020-03-04 08:01:24 -06:00
Molly Struve
9b2c470ddd
Dont repeatedly hit the cache for user data (#6433) [deploy] 2020-03-03 15:19:58 -05:00
Ben Halpern
1dc1723709
Add field test gem to establish a/b testing (#6283) [deploy]
* Initial field test spec work

* Clean up specs

* Fix codeclimage

* Cleanups

* Update names

* Rename and remove need to pass logged in status

* Leadup to prod: two experiments

* Move test logic to controller and add tests

Co-authored-by: Josh Puetz <josh@grorichpuetz.com>
2020-03-03 10:21:29 -05:00
Molly Struve
3703ba3111
Create Feed Content index for Articles and Podcast Episodes and User Index (#6418) [deploy] 2020-03-03 08:00:16 -05:00
Alex
26ed296475
Add published field to ClassifiedListing Search (#6412) [deploy]
* Add published field to ClassifiedListing

* Add back query_conditions conditional

* Don't allow searches for unpublished listings

* Fix comment typo...oops!
2020-03-02 13:56:07 -08:00
Molly Struve
2ef6b5ac50
refactor search method to base class (#6370) [deploy] 2020-03-02 08:37:08 -05:00
rhymes
30e472edf6
Replace last SearchClient with Search::Client (#6359) [deploy] 2020-02-28 11:53:58 -05:00