Commit Graph

5120 Commits (be2b4b6b59e924920b0b2d8c548eb84355411653)

Author SHA1 Message Date
justcool393 e6ce4edbd8 templates: remove redundant badge_remove template
templates: fix badge admin template when removing a badge
2022-10-29 01:08:29 -05:00
justcool393 3a6dfdf2de listings: constantify PAGE_SIZE as 25
magic numbers are bad, do better next time
2022-10-28 22:20:48 -05:00
justcool393 4ded76741d move get_saves_and_subscribes to their own thing 2022-10-28 22:04:09 -05:00
Aevann1 0339016567 fix /live 2022-10-29 04:20:23 +02:00
justcool393 35e2128dec
get: use function to get voted and blocked properties (#425)
* get: comments and posts: use get function from get.py
* fix prev commit
* move filter to correct place
* fix error and also log so i can figure out what's wrong
* comments: add some more trace logging
* should_keep_func always acts as return True if None is passed in
* remove logging code
2022-10-28 19:13:37 -05:00
Aevann1 5719688178 use tabs, not spaces 2022-10-29 01:39:31 +02:00
Aevann1 58912b124a display "@" before account name in failed login attempt 2022-10-28 22:25:35 +02:00
Aevann1 f41b09cc07 small change to /admin/app 2022-10-28 22:13:58 +02:00
justcool393 f5b40ebbbc leaderboard: qol: link to relevant user pages for posts and comments 2022-10-28 12:36:18 -07:00
justcool393 fb727ac40c lambda fns 2022-10-28 12:36:18 -07:00
justcool393 cfeafea0d4 leaderboards: annotate the db param, fix posts and comments, and move const to const file, etc 2022-10-28 12:36:18 -07:00
justcool393 d6f1f3c070 fix prev commit redux 2022-10-28 12:36:18 -07:00
justcool393 8873171f5c leaderboards: refactor leaderboards to their own class
right now, leaderboards are complex enough that they ought to be upgraded to at least a second class thing.
this commit provides an *okay* implementation of a per-request leaderboard
there are many things to be done, including caching, persistence, etc
i don't like this like 80 parameter __init__ but it's what i've got without overengineering it imo
this is potentially already overdoing it
2022-10-28 12:36:18 -07:00
justcool393 76855fed36 fix prev commit redux 2022-10-28 12:36:18 -07:00
justcool393 5ec48141bb fix prev commit 2022-10-28 12:36:18 -07:00
justcool393 ff639ce94b i wish the person who wrote the initial version of this leaderboard code a very lovely day
i definitely don't want to cry myself to sleep because of this god awful mess
it's a little bit better now though
<3
2022-10-28 12:36:18 -07:00
Aevann1 449c8b51cb Revert "add another ratelimit by username"
This reverts commit 4385bafa85.
2022-10-28 20:25:14 +02:00
Aevann1 4385bafa85 add another ratelimit by username 2022-10-28 20:22:51 +02:00
Aevann1 e1dc790165 tighten from 15/day to 10/day 2022-10-28 20:13:37 +02:00
Aevann1 e41ee21f2b remove redundant ratelimits in /login 2022-10-28 20:13:23 +02:00
Aevann1 b816973f38 ignore subdomains in banned_domains logic 2022-10-28 20:12:40 +02:00
Snakes 1f27b0fb2f
Rate limit failed logins. 2022-10-28 14:07:24 -04:00
Aevann1 94d1a7d98d fix 2022-10-28 19:13:24 +02:00
Aevann1 8999a6ea29 fix 2022-10-28 19:08:52 +02:00
Aevann1 834516cd51 fix prev commit 2022-10-28 00:42:32 +02:00
Aevann1 1a35e2ec6a refactor banned domains 2022-10-28 00:37:29 +02:00
Snakes be7be28182
Fix comment search query ampersand bug. 2022-10-27 18:24:12 -04:00
Aevann1 ad358650e1 remove retarded bullshit I wasn't consulted about 2022-10-27 19:53:08 +02:00
Aevann1 98bae12134 show the time on which ppl blocked/followed the hole 2022-10-27 17:38:54 +02:00
justcool393 50482c9b0e T to t 2022-10-26 18:41:29 -05:00
justcool393 e4d50be763 stickies: fix logic error i reintroduced that @Aevann1 has earlier fixed 2022-10-26 18:32:30 -05:00
Snakes 6a021c4736
PCM /live: scraping scheduled streams revision. 2022-10-26 17:03:21 -04:00
Snakes 895f0c9714
PCM /live: improve scraping robustness. 2022-10-26 16:14:16 -04:00
justcool393 e6f735b8ca security: be slightly more generous with login ratelimits 2022-10-26 14:18:21 -05:00
justcool393 782a4494da login: create invalid file if doesn't exist 2022-10-26 14:11:30 -05:00
justcool393 03cf8038f3 security: log invalid password attempts for admins
security: reduce login ratelimits from 1/second ->1/10 seconds
security: reduce login ratelimits from 200/hr -> 100/hr
security: reduce login ratelimits from 1000/day -> 500/day
2022-10-26 13:31:17 -05:00
justcool393 31eb387c8d pins: remove unnecessary code 2022-10-26 12:23:26 -05:00
Aevann1 8795ecfb58 fix thumbnails 2022-10-26 16:34:33 +02:00
Aevann1 b9d7b4e027 sneed 2022-10-26 16:33:50 +02:00
justcool393 548f2613c7 pinprovements 2022-10-25 17:48:10 -05:00
Aevann1 883ab31cc9 Describe what Poor Mode does 2022-10-25 20:20:43 +02:00
Aevann1 fbeac461ca refactor poorcel mode 2022-10-25 18:07:44 +02:00
Aevann1 3b16c8f3e3 close image files after ur done 2022-10-25 17:41:23 +02:00
Snakes eafa7b8e05
Revert "this is stupid": no fighting in the commit log.
This reverts commit 1f1ace3d66.
2022-10-25 11:32:32 -04:00
justcool393 1f1ace3d66
this is stupid 2022-10-25 08:21:37 -07:00
Aevann1 69648de587 minor change to /remove_post 2022-10-25 15:45:44 +02:00
gooseman 8b98eabbb9 simultaneous hosts 2022-10-24 15:28:43 -07:00
Aevann1 2a05363a2d exclude me from discord filter 2022-10-24 21:22:08 +02:00
justcool393 0d7437ca1c i am a pro carp hero 2022-10-24 12:43:14 -05:00
justcool393 df7690fb54 fishsticks (prev commit redux) 2022-10-24 12:42:02 -05:00
Aevann1 4b37bd721b prevent carp from undoing award pins 2022-10-24 19:36:35 +02:00
Snakes 97eb823ed0 Fix janny pinning. 2022-10-23 19:47:53 -04:00
Snakes d869353fdf
Track coins awarded with votes.
Supports more complicated double XP shenanigans without creating
any cycles of user actions that create positive DC.
2022-10-23 18:23:51 -04:00
justcool393 dbb7296dd7 stickies: allow JL2 to sticky post
stickies: unpin on removal
stickies: don't allow removed posts to be stickied
2022-10-23 17:17:49 -05:00
Aevann1 0b851d237c remove exploit allowing jannies to unpin award pins 2022-10-23 23:52:11 +02:00
Aevann1 8e68f60e3d fix roundabout way of jannies getting pin awards undone (not exploited so far AFAIK) 2022-10-23 23:36:38 +02:00
justcool393 8f6950a49b fix prev commit 2022-10-23 14:44:02 -05:00
justcool393 050917515d hats: fix hat ratelimit 2022-10-23 14:43:32 -05:00
justcool393 e248295880 lawlzposts: fix a couple of bugs 2022-10-23 13:28:51 -05:00
justcool393 0a9e7b3ef4 lawlzposts: don't allow unpin awards
lawlzposts: disable if pins feature flag is off
2022-10-23 12:14:27 -05:00
justcool393 bd0f56fd22 lawlzposts: restrict to rDrama 2022-10-23 12:02:55 -05:00
justcool393 ec1affcf85 posts: add MasterLawlz specific actions 2022-10-23 12:01:00 -05:00
Aevann1 80eedbd58d more approval/removal refactors 2022-10-23 18:24:23 +02:00
justcool393 a5799b222e hats: fix 2 500s (SQL errors) 2022-10-22 15:37:22 -05:00
Aevann1 888e552283 fix this https://rdrama.org/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/2937807?context=8#context 2022-10-22 18:40:52 +02:00
Aevann1 2dcf6bcb0f make sure all images with resize parameter are under 500KB 2022-10-22 17:24:07 +02:00
justcool393 62e9ef7009 hats: massively raise ratelimit 2022-10-21 22:31:58 -05:00
Snakes e9b648dcb5
Support for multiple WPD sites on one master. 2022-10-21 19:33:43 -04:00
justcool393 347a751481 WPD: redirect unlogged users to new site 2022-10-21 16:10:06 -05:00
Aevann1 360aa99fe1 small adjustments 2022-10-21 17:11:12 +02:00
Aevann1 04aa88f71f fix jigsaw WPD tier 2022-10-21 16:44:31 +02:00
Aevann1 7733449169 fix 500 error 2022-10-21 13:30:32 +02:00
justcool393 8fe73cb68e refactor blackjack a bit 2022-10-20 19:28:05 -05:00
justcool393 c0fe4d03c0 message: sanitize replies too 2022-10-20 18:24:03 -05:00
justcool393 52b8a22917 messages: use sanitize_raw_body 2022-10-20 18:18:47 -05:00
justcool393 360cff7e8f add post bypass checking perm 2022-10-20 17:51:29 -05:00
Aevann1 c78579ec5a refactor banned domains a little bit 2022-10-21 00:14:28 +02:00
justcool393 981256eb00 kippyprinter: change check to only allow pcmemes.net instead of disallowing rdrama.net 2022-10-20 15:53:52 -05:00
justcool393 4f35819fee assets: use .get where we can instead of .query 2022-10-20 13:00:14 -05:00
justcool393 fc4e9866eb fix the fix 2022-10-20 09:59:14 -05:00
justcool393 d14eb65056 fix name bug with hats 2022-10-20 09:14:18 -05:00
justcool393 546883dcd5
fix fish's 500
im commiting this on my phone lol
2022-10-19 18:03:56 -07:00
justcool393 ffdf810aa9 fix 500 and populate page on error 2022-10-19 18:38:25 -05:00
justcool393 9627c6db01 don't pass for no reason and also marsey -> existing 2022-10-19 18:38:25 -05:00
justcool393 62bd5a34e8 g.db.query not g.db.get 2022-10-19 18:38:25 -05:00
justcool393 99f66c8d31 Add UI for updating marsey tags and also allow me to do it 2022-10-19 18:38:25 -05:00
justcool393 174bce037f WPD migration: don't include AutoJanny, Snappy, or other bots 2022-10-18 06:42:43 -05:00
Aevann1 465160dbe6 dont include SITE_FULL in post urls 2022-10-18 13:09:53 +02:00
Aevann1 3e7b37ec35 dont redirect to a repost for chadmins 2022-10-18 12:26:44 +02:00
Snakes 984d8675b5
Fix rainbow award on non-rDrama sites. 2022-10-17 23:10:40 -04:00
justcool393 33c6edba58 import error i think also make graceful 2022-10-17 20:49:13 -05:00
justcool393 1446bf582f user validation logic fix 2022-10-17 20:37:09 -05:00
Snakes 1fc7e748e0
Revert "fix error with 500 page"
This reverts commit 3901b2c379.

Was just debugging code which is now unneeded.
2022-10-17 20:35:47 -04:00
justcool393 3901b2c379 fix error with 500 page 2022-10-17 19:16:28 -05:00
justcool393 39545e556f WPD: disable /logged_out on .co, fixing infinite loop
WPD: fix bad asset link
WPD: redirect on migration login and failed migration login
2022-10-17 19:11:50 -05:00
Snakes 41fd13602f
Fix broken import in WPD migration. 2022-10-17 19:47:28 -04:00
justcool393 be6fa59e13 fix host bug, do a absolute redirect instead of a relative one, and make wpdco page essentially static 2022-10-17 18:40:09 -05:00
justcool393 96d63ed5de banner text and also rename variable 2022-10-17 18:40:09 -05:00
justcool393 6d538e2cd3 WPD migration code 2022-10-17 18:40:09 -05:00
Aevann1 44fca7f086 ripbozo 2022-10-17 21:13:33 +02:00
Aevann1 bf859b0e3a sneed 2022-10-17 18:58:15 +02:00
justcool393 cc0c767877 static data as one function which is referenced 2022-10-17 05:08:09 -05:00
Aevann1 e54c4a1f15 require reason when banning a domain 2022-10-17 10:16:14 +02:00
Snakes 912560327f
Apply anti-grooming logic to chat. 2022-10-16 16:19:13 -04:00
Snakes 2efe5d1522
Fix changelog channel messaging on draft publish. 2022-10-16 13:49:24 -04:00
justcool393 e8329a12cc
remove unused routes 2022-10-16 08:01:59 -05:00
justcool393 aa508fc076 remove discord 2022-10-16 05:42:52 -07:00
justcool393 4b2ce3b7a0 use perms constant for unclub_post 2022-10-16 03:41:54 -07:00
Aevann1 4355768995 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-16 11:56:15 +02:00
Aevann1 d1bcfa3f0c Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-16 11:54:40 +02:00
Aevann1 94424163db fix pinned posts 2022-10-16 11:54:36 +02:00
justcool393 f4af073253 fix 17 potential 500s 2022-10-16 02:51:42 -07:00
justcool393 3f9b51f0c1 fix 500: abort 404 if not an integer 2022-10-16 02:18:23 -07:00
justcool393 24a4274ee1 fix upvoters/downvoters for comments and user voted 2022-10-16 01:17:20 -07:00
Aevann1 87852c6e65 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-16 10:10:52 +02:00
Aevann1 24e7828ae0 fix vote_dir in @user/voted/comments 2022-10-16 10:10:50 +02:00
justcool393 32a4693da9 fix a couple of potentially rare 500s 2022-10-15 14:35:24 -07:00
justcool393 6138c94a10 unduplicated alt adding code
* should probably be part of the Alt or User class at some point but this is for a diff day
2022-10-15 11:52:10 -07:00
justcool393 ef840c4afd make it so you can't vote on messages 2022-10-15 10:12:55 -07:00
Aevann1 129508b163 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-15 19:03:53 +02:00
Aevann1 f63bf4e718 restore old pin behavior 2022-10-15 19:03:51 +02:00
Snakes 616e15ebb9
Fix posting/commenting from API.
The rework to v.client meant that `is_bot` on Submission and Comment
would attempt to be populated with a ClientAuth object when submitted
by a bot other than Snappy or bbbb. SQLAlchemy requires an actual
boolean, not just a truthy value.
2022-10-15 10:11:14 -04:00
justcool393 c428a59397 v -> v and v.client 2022-10-15 04:18:07 -07:00
justcool393 c2b6c5903d fix 500 in search.py 2022-10-15 03:30:13 -07:00
Aevann1 6465982580 decouple v.last_active from the calc_users 2022-10-15 12:08:14 +02:00
justcool393 39aa59a37a add g.is_api_or_xhr so we can use it where we want to give API output
* also use v.client for strict API clients
2022-10-15 02:11:36 -07:00
Aevann1 b1efa072e6 rename /agendaposters to /chuds 2022-10-15 08:55:54 +02:00
Aevann1 afdec9a5a9 minor tweak to avoid double-notifying ppl 2022-10-14 20:35:13 +02:00
Aevann1 423ad25d2a fix typo 2022-10-14 20:28:46 +02:00
Aevann1 2411053d55 add tiered pins 2022-10-14 20:28:20 +02:00
justcool393 3b86227872 refactor asset submissions a bit 2022-10-14 11:03:47 -07:00
Aevann1 f2a5c8f5d4 add whitelist of badge_granting on WPD, and disallow removing award badges 2022-10-14 19:11:39 +02:00
Aevann1 77312317f3 get rid of Boolean columns for permenant awards 2022-10-14 18:59:49 +02:00
Aevann1 6a11de21e0 fix 500 error 2022-10-14 17:29:26 +02:00
Aevann1 5e55ff7f90 make the modlog note for updating assets link to te updated asset 2022-10-14 14:38:06 +02:00
Aevann1 89a0ff4a4b remove username reservation system 2022-10-14 14:01:06 +02:00
justcool393 2dd74d3acd don't constantly check for reposts when it's obvious there can't be one
we currently spam the /is_repost api on every single character change in the URL box even though there is no way these URLs would ever be submitted to the site

introducing a frankly conservative limit to where we start actually pinging both the api and (on the backend) the database for reposts may help in some cases

the current constant was chosen by taking the length of "http://" and adding 2 to it
2022-10-14 03:27:45 -07:00
Aevann1 6b0e6b49ee disallow discord links in DMs 2022-10-13 15:26:59 +02:00
Aevann1 7a6b4406ef remove redundant shadoban filters 2022-10-13 12:47:55 +02:00
justcool393 0f56b8de5e i need a d 🤭 2022-10-13 00:55:15 -07:00
justcool393 c56e45aa57 create cloudflare helper 2022-10-13 00:55:15 -07:00
Snakes e7da195645
Revert "Disable Cloudflare API call timing out admin_home."
This reverts commit ed27225d10.

The proximal cause of the request timeout issues was the /comments
performance issues, which seem to have been resolved by 2edeb4875.
Probably still need to refactor this, but for now it's likely fine.
2022-10-13 02:12:35 -04:00
Snakes 2edeb48751
Refactor /comments to use single query. 2022-10-13 01:52:54 -04:00
Snakes ed27225d10
Disable Cloudflare API call timing out admin_home. 2022-10-13 00:47:37 -04:00
Snakes e5af46c4ae
Fix shadow visibility logic. 2022-10-13 00:10:34 -04:00
Aevann1 cdff11424f use charge_account everywhere 2022-10-12 18:33:00 +02:00
justcool393 ee85b5577a use error handlers in cases where we can 2022-10-12 08:55:42 -07:00
justcool393 c67406b84b use site specific patron name 2022-10-12 03:45:45 -07:00
justcool393 7b3361cfb7 temporary (maybe) sidebar and banner processing fn
* also make existing badge return 409 instead of 403
2022-10-12 03:04:34 -07:00
justcool393 96879894af remove 417 (use 409) and reword 418 msg 2022-10-12 02:00:18 -07:00
Snakes 3482f97bfb
Remove accidentally sneeded debug code.
We were experiencing errors on prod where is_repost would not have
either g or g.db available on request teardown, which would eventually
culminate in errors.py:error_500. These haven't reoccurred for nearly
16hrs now, and the test code got caught in a 'sneed' commit. Best to
have it gone.
2022-10-12 04:32:18 -04:00
justcool393 eaf361ad91 API: set the status code on errors 2022-10-12 01:17:48 -07:00
Snakes 166e33dc38
Clarify architecture of sort_objects. 2022-10-12 04:05:26 -04:00
Aevann1 d18e247513 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-12 09:03:30 +02:00
Aevann1 2aa281e8c8 refactor sorting again (untested) 2022-10-12 09:03:28 +02:00
justcool393 bb1658e0a0 WPD: remove vestigial social and music filer code 2022-10-12 00:03:08 -07:00
Aevann1 925ec12141 more shadowban refactor 2022-10-12 08:53:32 +02:00
justcool393 941b5fa82d vote realness is in user model 2022-10-11 23:47:47 -07:00
Aevann1 e1ee9a69e4 refactor seeing shadowbanned shit (untested) 2022-10-12 08:24:30 +02:00
Aevann1 b1abd33835 refactor sorting 2022-10-12 08:10:11 +02:00
justcool393 7ee3c78b2e ree 2022-10-11 22:51:04 -07:00
justcool393 501fbbf5d3 move antispam code to actions 2022-10-11 22:34:55 -07:00
justcool393 5591d7d574 fix real votes 2022-10-11 22:27:27 -07:00
Aevann1 04ecef4214 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-12 04:06:44 +00:00
Aevann1 46b310cdf3 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-12 06:06:18 +02:00
Aevann1 cdfbbd0217 fix wrong name for feature 2022-10-12 06:06:11 +02:00
Aevann1 9ef74dd642 sneed 2022-10-12 00:00:04 +00:00
justcool393 9044548630 forgot to actually execute the query 2022-10-11 12:05:00 -07:00
justcool393 65e4a179b0 remove vote code duplication 2022-10-11 12:05:00 -07:00
justcool393 71759e6afa 400 -> 409 2022-10-11 09:55:24 -07:00
Aevann1 466867afd1 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-11 18:41:12 +02:00
Aevann1 e3a3cbd358 add "hot" comment sorting 2022-10-11 18:41:09 +02:00
justcool393 63215b8888 move messages to constant file and also remove special logic for PCM, instead opting to modify the constant instead 2022-10-11 08:40:19 -07:00
justcool393 3a5c90e6d3 change 409 msg 2022-10-11 08:40:19 -07:00
justcool393 eebef17e8d another dumb syntax error 2022-10-11 08:40:19 -07:00
justcool393 2004278791 syntax error fix 2022-10-11 08:40:19 -07:00
justcool393 39e49a508f add 409 to errors
* also move check for AUTOJANNY_ID to before has_blocked
2022-10-11 08:40:19 -07:00
justcool393 c0acb1722b abort a bunch of stuff where we manually returned JSON 2022-10-11 08:40:19 -07:00
justcool393 64cd11377e fix 500 werkzeug description, add note, and remove unused import 2022-10-11 08:40:19 -07:00
justcool393 665e6e4b21 handle 500 and 401 (when using API) with our handlers
* 401 had sign up and login buttons on their page, but the page was never visible, we only show this when the API is being used
2022-10-11 08:40:19 -07:00
justcool393 e364ce8043 add 417 and fix 414 2022-10-11 08:40:19 -07:00
justcool393 ac011a77b9 remove unneeded templates, use custom handler for 500, and 401 is "Unauthorized," not "Not Authorized" 2022-10-11 08:40:19 -07:00
justcool393 fd25809cac rework errors 2022-10-11 08:40:19 -07:00
Aevann1 8032b9d5a4 allow me to ban (((🐟))) 2022-10-11 15:48:49 +02:00
justcool393 9ec3fb3b51 use proper get function 2022-10-11 06:37:40 -07:00
Aevann1 998b966f2b remove unnecessary shit in wrappers 2022-10-11 15:19:55 +02:00
justcool393 b398420246 i'm gonna hit sneks with a giant foam s 2022-10-11 00:52:01 -07:00
justcool393 456dd43bba replace "if not FEATURES" with wrapper 2022-10-11 00:33:23 -07:00
Snakes 33d99f86e6
Temporary deletion special case by Carp request. 2022-10-10 23:48:16 -04:00
Snakes 69f1b09a76
Restrict editing old posts (harmonize comments). 2022-10-10 23:40:08 -04:00
Aevann1 c381466389 tweak asset notifs 2022-10-10 14:13:43 +02:00
justcool393 75e593da00 Revert "feature required wrapper"
This reverts commit 8700bcc5ee.
2022-10-10 02:54:47 -07:00
Aevann1 30813fc719 Merge branch 'frost' of https://github.com/Aevann1/rDrama into frost 2022-10-10 11:06:32 +02:00
Aevann1 00b045c464 tweak env again 2022-10-10 11:06:27 +02:00
justcool393 f872f734ec constantify a bunch of things
* sign up follow id is now a thing (if not specified will just msg carp instead)
* notification thread id is also a constant now
* blackjackbtz id is a constant, used for i think special PM handling
2022-10-09 23:37:42 -07:00
justcool393 8700bcc5ee feature required wrapper 2022-10-09 23:16:05 -07:00
Aevann1 356c9f1219 add "(Admin)" to messages sent to users due to admin actions (for clarity to new users) 2022-10-10 08:11:17 +02:00
Aevann1 472aedb14e remove log items generated by awards for JL3 (since they cant print anymore) 2022-10-10 06:40:48 +02:00
Aevann1 df44613686 make it so when u ban someone for 3 days for example, it appears as "3 days" instead of "3.0 days" 2022-10-10 06:16:43 +02:00
justcool393 d6f4e20f7d use constant for BBBB_ID instead of 12125 2022-10-09 07:03:21 -07:00