Commit graph

68 commits

Author SHA1 Message Date
Michael Kohl
5c2f27baed
Remove timeframer from app/labor (#11782)
* Move file

* Update usages

* Simplify
2020-12-08 12:52:33 +07:00
Molly Struve
dc7d9d5843
Refactor/Optimization:Use more_comments_minimal_weight_randomized_at_end for Signed In Feed (#11604) 2020-11-24 15:36:55 -06:00
Molly Struve
abbc29dafe
Bug Fix:User >= when filtering by SiteConfig.home_feed_minimum_score (#11567) 2020-11-23 09:13:03 -06:00
Molly Struve
cf619caf70
Refactor: Remove more_tag_weight_more_random_experiment (#11447) 2020-11-16 15:48:45 -06:00
Michael Kohl
b46323d0b2
Move ArticleSuggester to Articles::Suggest service (#11370) 2020-11-11 13:06:33 -05:00
Molly Struve
a0c174fcb7
Refactor:Remove more_experience_level_weight_experiment From Feed Tests (#11340) 2020-11-09 13:59:59 -06:00
Molly Struve
ea156a201d
[deploy] Optimization:Remove more_tag_weight_experiment From Feed Tests (#11089) 2020-10-27 16:36:53 -05:00
Molly Struve
f54549cca3
[deploy] Optimization:Remove 2 Feed Experiments (#11007) 2020-10-22 11:22:00 -05:00
benhalpern
3126e508f7 Make basic posts query rely on SitConfig value 2020-10-21 08:11:54 -04:00
Ben Halpern
0ed408a409
Fix feed order for basic (#10717)
* Fix feed order for basic

* Fix spec
2020-10-07 11:26:32 -04:00
Vaidehi Joshi
52fd043c33
[deploy] Limit articles created by newer users (#10686)
* Limit articles created by newer users

* Fix typo in test
2020-10-06 21:02:05 -04:00
Ben Halpern
f87e9eace1
[deploy] Add feed_strategy config (#10245)
* Add feed_strategy config

* Add configs spec

* Fix specs

* Fix field test scenario

* Linting

* A couple small changes

* Rename Optimized and objects

* Add proper namespace

* Fix codeclimate

* Add docs

* Update docs/technical-overview/readme.md
2020-10-06 17:36:27 -04:00
rhymes
c9e401758a
[deploy] Add dependent clauses to Article and fix Comment validation (#9990)
* Add dependent clauses to Article model

* Comment should be valid without a commentable

* Add cleanup scripts

* Cache the comments ids before destroying the article

* Add dependent clause to Article.user_subscriptions as well

* Fix specs
2020-08-28 18:24:28 +02:00
Ben Halpern
986eb87ce8
[deploy] Remove unneeded Analytics update script (#9852)
* Remove unneeded Analytics update script

* Remove constants
2020-08-19 15:57:27 -04:00
rhymes
5a2cae4fbb
Rubocop: enable and fix new Rails cops (#9537)
* Enable new Rails/* cops and use autocorrect on them

* Fixed Rails/PluckInWhere leftovers

* Fix Rails/DefaultScope

* Enable and fix Rails/PluckId

* Fix manual mistake with forcing autocorrection on Rails/PluckId

* Apply PR feedback to remove Rails/PluckId inline disables

* Apply PR feedback to get rid of Rails/PluckInWhere inline
2020-07-29 11:14:19 +02:00
Michael Kohl
a4dadfb728
Standardize ActiveRecord order clauses (#9395)
* Change simple order clauses

* Change nested order clauses
2020-07-20 10:00:51 -04:00
rhymes
f1ec04a0c9
Rubocop: move dot in multi-line calls to leading position (#9262) 2020-07-16 15:51:11 +02:00
rhymes
3722355e8c
Rubocop: fix Metrics/CyclomaticComplexity and disable Metrics/AbcSize (#9221)
* Fix Metrics/CyclomaticComplexity

* Disable Metrics/AbcSize

* Refactored Articles::Builder a bit
2020-07-10 15:26:05 +02:00
rhymes
5b62811c98
[deploy] Rubocop: fix violations of Layout/LineLength (#9197) 2020-07-08 08:36:36 -05:00
ludwiczakpawel
a161d3ce31
[deploy] Redesign article editor (#7524) 2020-05-29 11:59:37 -04:00
Ben Halpern
cd18d2f436
[deploy] Add alternate comment-oriented feed algos (#8042) 2020-05-26 13:23:03 -04:00
Andy Zhao
c42fd3461e
[deploy] Rename positive_reactions_count to public_reactions_count in logic (#7926)
* Rename positive_reactions_count to public_reactions_count

* Add positive reactions count back in so we can remove it

* Use public_category method for reactions

* Add positive_reactions_count in case any old caches rely on it

* Add positive_rxn_count to account for API endpoints

* Remove unused method

* One more spot...

* Add method back in because of caches

* Update specs to match new functionality

* Fix typo

* Remove unused methods
2020-05-26 12:36:28 -04:00
Molly Struve
909f298688
[deploy] Only Count Hot Stories Once Rather Than Every Iteration (#7931) 2020-05-18 13:12:41 -05:00
Molly Struve
371a71a3be
[deploy] Expose Article Update Rate Limit on Config Page (#7826) 2020-05-13 15:29:32 -05:00
Molly Struve
930ccdccf5
[deploy] Refactor Tracking Rate Limits for Actions (#7668) 2020-05-04 13:05:53 -05: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
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
rhymes
0186fd9aee
Add Retry-After for API rate limit errors and document limits in API spec (#7444)
* Add correct rate limit exception to Articles::Updater

* Send Retry-After with HTTP 429 back to the client

* Update API specs for error 429

* Test build

* Fix spec

* Add retry after to ImageUploadsController and fix specs

* Generalize a bit
2020-04-24 17:35:28 +02:00
Molly Struve
de88a08ebd
[deploy] handle rate limit errors gracefully (#7422) 2020-04-22 08:55:26 -05:00
Ben Halpern
645920c09f
[deploy] Remove milestone sends (#7313) 2020-04-15 19:34:10 -04:00
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
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
Andy Zhao
2d56ec18ed
[deploy] Add rate limit for article updates (#7166) 2020-04-09 08:30:21 -05: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
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
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
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
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
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
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