Commit graph

327 commits

Author SHA1 Message Date
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
rhymes
e27c9b77a3
Refactor Elasticsearch client access (#6307) [deploy]
* Add Transport module to Search
* Test public methods only
* Add Search::Client with exception handling
* Remove Transport and request do
* Replace SearchClient with Search::Client
2020-02-28 11:38:37 -05:00
Alex
e40c28117b
Search ClassifiedListings backend code (#6348)
* Add search methods

* Add spec for new search methods

* Add QueryBuilder for ClassifiedListing

* Add QueryBuilder spec for ClassifiedListing

* Refact build_query in ClassifiedListings

* Refactor logic for filter and query conditions

* Refactor index_documents to helper_method

* Update elasticsearch helper for single objects

* Refactor specs from stubbing to record update

* Update search and specs for query_builder

* Refactor set_size

* Update Search::ClassifiedListing

- Add DEFAULT_PAGE constant
- ADD DEFAULT_PER_PAGE constant
- Add pagination

* Fix paging

* Add pagination specs

* Remove manual Array conversion for Array.wrap()

* Change guard clause to .key? for readability
2020-02-28 10:51:33 -05:00
Josh Puetz
4cb60958dd
Add page and article limit options (#6349) [deploy] 2020-02-28 06:45:09 -06:00
Josh Puetz
47ec81cf14
Implement home page feed article ranking in Ruby (#6320) [deploy]
* WIP - JS feed logic ported to Rails

* Port JS ranking logic to ruby

* PR feedback, sort call from stories vs feeds controller

* Optimize `score_followed_tags`

* Optimize article ranking

* remove unused RankedArticle struct
2020-02-27 12:06:24 -06:00
Alex
037b2fa432
Fix pagination on Search::ChatChannelMembership (#6328) [deploy]
* Fix pagination logic

* Fix typo slig --> slug

* Add spec for returning empty Array vs nil

* Add spec for pagination

* Change expectation of test for empty Array
2020-02-27 09:56:05 -08:00
Molly Struve
9863d70b57
Remove algolia from chat channel memberships (#6323) 2020-02-27 09:59:12 -05:00
Molly Struve
c64ca9750c
Default search by active chat channel memberships only (#6325) [deploy] 2020-02-27 08:12:36 -05:00
Michael Kohl
ec8ee54559
Delete classified listings when deleting user (#6258) 2020-02-26 14:44:09 -05:00
Molly Struve
8f0bfa5e08
Implement Search for Chat Channels with Elasticsearch (#6282) [deploy] 2020-02-26 11:06:38 -05:00
rhymes
145d5e610e
Use scopes for Follow instead of where all the time (#6149) [deploy] 2020-02-25 19:29:52 -05:00
Alex
8f7d7cabbb
Add DataDog monitors (#6188)
* Record invalid_uri in CacheBuster to Datadog

* Add Stripe DataDog tracking

* Update Datadog

* Change DataDog to Datadog

* Fix specs

* Add tags to stripe.errors

* Update Stripe tags in controller for Datadog

* Fix typo

* Update Datadog tags to distinguish card

* Add path tag
2020-02-25 11:06:25 -08:00
rhymes
58f91d2b16
Centralize search error handling (#6227) [deploy] 2020-02-25 14:03:49 -05:00
rhymes
33a11adca8
Various optimizations (#6249) [deploy]
* Pluck over map
* Explain why map makes sense there
* Refactor reactions controller a bit and iterate only once
* Use group by instead of N counting queries
* More positive
* Simplify BufferedArticlesController
* Less queries for MailchimpBot
* Use Rails instead of SQL
* Build comment_ids only when needed
2020-02-25 13:42:24 -05:00
Ben Halpern
6bcfa73412
Fix algolia paginate issue and other feed problems (#6281) [deploy]
* Fix algolia paginate issue and other feed problems

* Remove unnecessary limit
2020-02-24 13:14:50 -05:00
Molly Struve
5f50561d82
Backend ChatChannelMembership Search using Elasticsearch (#6217) [deploy] 2020-02-21 10:25:38 -05:00
Michael Kohl
c9b641928f
Clean up chat channels when deleting users (#6225) 2020-02-21 09:59:22 -05:00
Molly Struve
318ee32cdd
Add worker for removing Elasticsearch docs (#6213) [deploy] 2020-02-21 08:13:36 -05:00
rhymes
ca8ea0874d
Upgrade Stripe to version 5 (#6181)
* Upgrade stripe and stripe-ruby-mock

* Replace .all with .list

* Replace .delete with .detach_source and add tests

* Fix credits spec

* Refactor StripeActiveCardsController to use Payments::Customer and fix specs

* Use the right notice to show feedback to the user
2020-02-20 14:19:52 -05:00
rhymes
4bf323bc83
Skip moderation notification if the user is the moderator (#6200)
* Skip moderation notification if the user is the moderator

* Update spec/workers/notifications/moderation_notification_worker_spec.rb

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

Co-authored-by: Vaidehi Joshi <vaidehi.sj@gmail.com>
2020-02-20 14:09:43 -05:00