Commit Graph

3847 Commits

Author SHA1 Message Date
shlurbee
87aa75df59 Show recommended content in /explore
Shows a mix of content from:
- subreddits recommended for the user (based on subscriptions and multis)
- rising threads
- items from discovery-focused subreddits

Listing items emphasize the subreddit name and have feedback controls.

The AccountSRPrefs class builds a user preferences model on-the-fly from
subscriptions, multireddits, and a record of recent user feedback.

The AccountSRFeedback column family stores a user's recent interactions with
the recommendation UI. For example, it records which srs the user dismissed
as uninteresting, and keeps track of which srs were recommended recently to
make sure we don't show the same ones too often.

Each type of feedback has a ttl after which it disappears from the db.
2013-12-04 11:29:11 -08:00
Brian Simpson
1619fe1cc1 authorize: Add exception handling to is_charged_transaction. 2013-12-03 08:41:24 -05:00
Brian Simpson
316b60547f PromoCampaign: add default value for trans_id. 2013-12-03 08:41:24 -05:00
Brian Simpson
9f28b03a76 Update all_live_promo_srnames when needed. 2013-12-03 08:41:24 -05:00
Brian Simpson
24324b642a promote.py: Delete unneeded wrap_promoted and sponsor_wrapper. 2013-12-03 08:41:24 -05:00
Brian Simpson
10338889f5 promote.py: remove unused imports. 2013-12-03 08:41:24 -05:00
Brian Simpson
dda49c68ad Basic support for house priority campaigns. 2013-12-03 08:41:24 -05:00
Brian Simpson
5caf5502dd make_daily_promotions only runs for current time.
Specifying an offset would cause the wrong campaigns to go live.
2013-12-03 08:41:24 -05:00
Brian Simpson
534e7e5d39 promote: cleanup.
Consolidate duplicated logic and make methods more direct. There were
many monolithic methods that did many things and were called all over
the place when the desired action was just one piece of the method.
2013-12-03 08:41:24 -05:00
Brian Simpson
943b8e2dd6 Don't worry about everything failing in promote. 2013-12-03 08:41:24 -05:00
Brian Simpson
a9899b2b96 Cleanup house ads query. 2013-12-03 08:41:24 -05:00
Brian Simpson
9a083c3fb2 Delete LiveAdWeights. 2013-12-03 08:41:24 -05:00
Brian Simpson
37d85260c8 Stop using LiveAdWeights. 2013-12-03 08:41:24 -05:00
Brian Simpson
2567163c27 make_daily_promotions: delete test mode. 2013-12-03 08:41:24 -05:00
Brian Simpson
9c1bbd7194 PromotionWeights.get_campaigns can filter by link and sr_names. 2013-12-03 08:41:24 -05:00
Brian Simpson
d3171db97f promote: Delete unused functions.
promotion_key, fuzz_impressions, campaign_lock, complimentary.
2013-12-03 08:41:14 -05:00
Neil Williams
ac25e39dda pagecache: Degrade gracefully if pagecache.get() fails. 2013-11-25 17:35:49 -08:00
Chad Birch
311d876896 Comment: handle deleted account for link_author 2013-11-25 15:50:26 -08:00
Chad Birch
f9336c9f42 JSON: add link_author to out-of-context comments 2013-11-25 15:50:26 -08:00
Chad Birch
e1bb2f702d Daily gold goal: store in cassandra 2013-11-25 15:50:26 -08:00
Logan Hanks
2afadc9771 Use correct cache for modmail permalinks. 2013-11-22 15:48:49 -08:00
Brian Simpson
f79949ae60 Don't link subreddit creator if they're not a moderator. 2013-11-21 19:19:31 -05:00
Brian Simpson
bad6963ae0 ipn: clean up aborts. 2013-11-21 15:09:30 -05:00
Brian Simpson
65c8ad2787 all_gold_users: retrieve spam users. 2013-11-21 15:09:30 -05:00
Brian Simpson
ae8359c4bd accountid_from_paypalsubscription: find spam users. 2013-11-21 15:09:30 -05:00
Brian Simpson
ac8f971c15 Fix typo in promo email. 2013-11-21 15:09:26 -05:00
Brian Simpson
138ae0e3af StripeController: pass the form to cancel_subscription. 2013-11-21 15:09:16 -05:00
Brian Simpson
3b947ccbff StripeController: create customer then set subscription.
`create_customer` does address verification and we choose not
to make any charges if the verifications fail. We need to wait
until after that verification before creating a subscription.
2013-11-21 15:09:16 -05:00
Brian Simpson
9eaa928b7f StripeController: give 404 response to charge notice with no buyer. 2013-11-21 15:09:11 -05:00
Max Goodman
4fe8c5d427 Allow media embed content to be framed, as intended. 2013-11-21 23:55:20 -08:00
Max Goodman
bf5350fbe8 Use HTTPS for password reset emails. 2013-11-21 16:04:11 -08:00
Max Goodman
1ed4ac3848 toolbar: Fix frame sizing with comments pane open.
Since iframes are "replaced elements" they don't auto fill space when a
left and right absolute position is specified. The hacky solution is to
add a container <div> which we can size appropriately and then fill with
the <iframe>.
2013-11-21 16:04:11 -08:00
Max Goodman
f0bd94c528 toolbar: Add 'allow-same-origin' to fix AJAX within frames. 2013-11-21 16:04:11 -08:00
Max Goodman
b2a4888496 toolbar: Match reddit subdomains due to framing restrictions. 2013-11-21 16:04:11 -08:00
Max Goodman
e76936aae3 Blanket X-Frame-Options: SAMEORIGIN policy.
Thanks to /u/saurabh_nemade for bringing a content extraction redressing
technique to our attention.
2013-11-21 16:02:55 -08:00
Max Goodman
bb8f4b1b57 password reset: Validate token before affecting user session.
Thanks to /u/largenocream for reporting this.
2013-11-21 16:02:52 -08:00
Max Goodman
00df060e47 multis: Add missing VModhash to PUT_multi_description.
Thanks to /u/largenocream for reporting this.
2013-11-21 16:02:42 -08:00
Max Goodman
2e9383e582 Remove dead client side cnameframe parameter.
Thanks to /u/largenocream for reporting this.
2013-11-21 16:02:33 -08:00
Max Goodman
54548ee34c js.py: Handle languages for which translations do not exist.
This helps when testing language subdomains that aren't translated
locally.
2013-11-21 16:01:51 -08:00
Max Goodman
dfe8359246 Prevent policy page date from wrapping mid-line. 2013-11-21 16:01:51 -08:00
Andre D
3b0bf9d755 Fix vulnerabilities in setting friend and ban notes.
Thanks to /u/largenocream for reporting this.
2013-11-20 10:33:48 -08:00
Neil Williams
9f5a48f97f Don't allow non-admins to even generate admin cookies.
They weren't usable due to the checks in reddit_base, but it's safer to
not even generate 'em.

Thanks to /u/largenocream for reporting this.
2013-11-20 10:33:43 -08:00
Max Goodman
7547315410 Count CORS request origin stats. 2013-11-19 16:51:04 -08:00
Max Goodman
15dceb4f62 Allow CORS requests for unauthenticated JSON resources. 2013-11-19 16:51:04 -08:00
Max Goodman
cb24083a32 js.py: Remove LocalizedModule dependency on strings.py.
Since strings now get sourced from gettext-style markings rather than
strings.py, this is no longer needed.
2013-11-19 16:51:04 -08:00
Max Goodman
75719fdde4 Remove old dragonage static files. 2013-11-19 16:51:04 -08:00
Max Goodman
9e6deebb6f Add temporary Secret Santa sidebar link. 2013-11-19 16:51:04 -08:00
Max Goodman
ba55a6e68f Parameterize SideBox link target attribute. 2013-11-19 16:51:04 -08:00
Brian Simpson
b557e1297e StripeController: add handling for charge dispute events. 2013-11-19 09:55:48 -05:00
Brian Simpson
954b8b1147 GoldSubscription: use correct check for paypal subscription. 2013-11-19 09:55:48 -05:00