Commit Graph

858 Commits (ba3383c788b0616e6aad79bff45a741437927af1)

Author SHA1 Message Date
Snakes db329f487f
User.pay_account everywhere, fix lottery payout. 2022-11-20 05:50:02 -05:00
justcool393 255d5b2453 security: fix mute bypass
modmail: constantify user ID
2022-11-17 16:50:06 -06:00
justcool393 5b03c2535a kofi: fix rare 500. don't attempt to activate via kofi on sites where it's not enabled
this can cause a weird 500
2022-11-17 13:55:07 -06:00
justcool393 8414cec5d5 kofi: don't let "blahblahblah" be considered a valid token 2022-11-17 11:12:32 -06:00
justcool393 3d7737387c use default config vlaue const everywhere 2022-11-15 10:55:00 -06:00
Snakes 604321512e
Fix userpage listing sort order (merge error?). 2022-11-15 05:40:16 -05:00
justcool393 4b9c702877 fix listing bugs 2022-11-15 03:28:39 -06:00
justcool393 8f2f48d6d1
[DO NOT MERGE] import detanglation (#442)
* move Base definition to files.classes.__init__.py

* fix ImportError

* move userpage listing to users.py

* don't import the app from classes

* consts: set default values to avoid crashes
consts: warn if the secret key is the default config value

* card view: sneed (user db schema)

* cloudflare: use DEFAULT_CONFIG_VALUE

* const: set default values

* decouple media.py from __main__

* pass database to avoid imports

* import cleanup and import request not in const, but in the requests mega import

* move asset_submissions site check to __init__

* asset submissions feature flag

* flag

* g.is_tor

* don't import request where it's not needed

* i think this is fine

* mail: move to own routes and helper

* wrappers

* required wrappers move

* unfuck wrappers a bit

* move snappy quotes and marseys to stateful consts

* marsify

* :pepodrool:

* fix missing import

* import cache

* ...and settings.py

* and static.py

* static needs cache

* route

* lmao all of the jinja shit was in feeds.py amazing

* classes should only import what they need from flask

* import Response

* hdjbjdhbhjf

* ...

* dfdfdfdf

* make get a non-required import

* isort imports (mostly)

* but actually

* configs

* reload config on import

* fgfgfgfg

* config

* config

* initialize snappy and test

* cookie of doom debug

* edfjnkf

* xikscdfd

* debug config

* set session cookie domain, i think this fixes the can't login bug

* sdfbgnhvfdsghbnjfbdvvfghnn

* hrsfxgf

* dump the entire config on a request

* kyskyskyskyskyskyskyskyskys

* duifhdskfjdfd

* dfdfdfdfdfdfdfdfdfdfdfdf

* dfdfdfdf

* imoprt all of the consts beacuse fuck it

* 😭

* dfdfdfdfdfdfsdasdf

* print the entire session

* rffdfdfjkfksj

* fgbhffh

* not the secret keys

* minor bug fixes

* be helpful in the warning

* gfgfgfg

* move warning lower

* isort main imports (i hope this doesn't fuck something up)

* test

* session cookie domain redux

* dfdfdfd

* try only importing Flask

* formkeys fix

* y

* :pepodrool:

* route helper

* remove before flight

* dfdfdfdfdf

* isort classes

* isort helpers

* move check_for_alts to routehelpers and also sort imports and get rid of unused ones

* that previous commit but actkally

* readd the cache in a dozen places they were implicitly imported

* use g.is_tor instead of request.headers. bla bla bla

* upgrade streamers to their own route file

* get rid of unused imports in __main__

* fgfgf

* don't pull in the entire ORM where we don't need it

* features

* explicit imports for the get helper

* explicit imports for the get helper redux

* testing allroutes

* remove unused import

* decouple flask from classes

* syntax fix also remember these have side fx for some reason (why?)

* move side effects out of the class

* posts

* testing on devrama

* settings

* reloading

* settingssdsdsds

* streamer features

* site settings

* testing settings on devrama

* import

* fix modlog

* remove debug stuff

* revert commit 67275b21ab6e2f2520819e84d10bfc1c746a15b6

* archiveorg to _archiveorg

* skhudkfkjfd

* fix cron for PCM

* fix bugs that snekky wants me to

* Fix call to realbody passing db, standardize kwarg

* test

* import check_for_alts from the right place

* cloudflare

* testing on devrama

* fix cron i think

* shadow properly

* tasks

* Remove print which will surely be annoying in prod.

* v and create new session

* use files.classes

* make errors import little and fix rare 500 in /allow_nsfw

* Revert "use files.classes"

This reverts commit 98c10b876cf86ce058b7fb955cf1ec0bfb9996c6.

* pass v to media functions rather than using g

* fix

* dfdfdfdfd

* cleanup, py type checking is dumb so don't use it where it causes issues

* Fix some merge bugs, add DEFAULT_RATELIMIT to main.

* Fix imports on sqlalchemy expressions.

* `from random import random` is an error.

* Fix replies db param.

* errors: fix missing import

* fix rare 500: only send to GIFT_NOTIF_ID if it exists, and send them the right text

* Fix signup formkey.

* fix 2 500s

* propagate db to submissions

* fix replies

* dfdfdfdf

* Fix verifiedcolor.

* is_manual

* can't use getters outside of an app context

* don't attempt to do gumroad on sites where it's not enabled

* don't attempt to do gumraod on sites's where it's unnecessary

* Revert "don't attempt to do gumroad on sites where it's not enabled"

This reverts commit 6f8a6331878655492dfaf1907b27f8be513c14d3.

* fix 500

* validate media type

Co-authored-by: TLSM <duolsm@outlook.com>
2022-11-15 03:19:08 -06:00
Aevann1 41ab1f313c move feature_required wrappers up 2022-11-14 18:14:47 +02:00
justcool393 d3aea510f8 remove base 36 crap 2022-11-14 10:10:16 -06:00
Snakes d3f25739f0 Fix ratelimit_user on 3 routes, make proper dec. 2022-11-13 07:25:57 -05:00
Snakes 8fee66c894
Reorder decorators to support f63237a9a2.
Ultimately necessary because otherwise all bots share rate limits
with each other. The somewhat haphazard ordering of decorators bothers
me, but it's functionally required.

Approaches using request context (like reading the Authorization
header in ratelimit_user) likely produce bugs all their own.
2022-11-13 05:18:52 -05:00
justcool393 aa272729f1 default ratelimit and default ratelimit slower 2022-11-13 00:43:47 -06:00
justcool393 80d7d5281d ratelimit_user() wrapper 2022-11-13 00:07:15 -06:00
Aevann1 27a8fd4657 same as last commit 2022-11-12 12:11:46 +02:00
Aevann1 b37ebff403 revert prev commit and redo logic 2022-11-12 12:02:23 +02:00
Aevann1 6f30cdeee5 only limit /settings/kofi to subscriptions 2022-11-12 11:56:26 +02:00
Aevann1 05b7e79b76 remove the code i added for rdrama.com 2022-11-11 15:52:18 +02:00
Aevann1 0060a326d7 allow ppl to link discord media in DMs 2022-11-09 21:33:16 +02:00
Snakes e0f43c3668
Remove is_nofollow from backend. 2022-11-09 10:05:36 -05:00
Snakes ebb3957f41
Eager load submission listing relationships. 2022-11-09 09:16:22 -05:00
geese-suck 462e3421b5
organize templates (#435)
dude file management lmao
2022-11-09 01:11:46 -05:00
justcool393 26549a6e66
remove logged out routes (#433)
* remove /logged_out/ routes

* update sitemap, remove users route, and update header

* cloudflare cookie

* only mess with the cookie whenever we desire auth

* sitemap: (small) improvements
sitemap: fix little bug i introduced
sitemap: fix login redirects for /id/ routes

* sitemap: remove duplicate entry

* contact is auth desired

* imports: don't import what we don't need and bind late to the db

* praying to god this works

* keep yourself safe

* oh i actually need to commit and push lol

* import Sub

* t

* refix cache purger
2022-11-09 00:35:24 -05:00
Aevann1 50bcc81f14 give user an error when they give invalid page input 2022-11-07 23:34:43 +02:00
Aevann1 bf260330df only show profile-pinned posts in the default sort 2022-11-07 13:27:42 +02:00
justcool393 0fffa7efc0 rename truecoins to truescore 2022-11-06 23:04:34 -08:00
Aevann1 2fe10e9644 replace cc toggle with holes toggle 2022-11-07 02:44:31 +02:00
justcool393 dc1975fc61 users: filter shadowbanned from leaderboard
some of the non-simple leaderboards still have them in there, oh well
2022-11-05 00:33:18 -05:00
Aevann1 07a12380de accomodate alt domain 2022-11-03 17:29:14 +02:00
justcool393 984eff3476 user lists: don't show shadowbanned users on grassed and agendaposter page to people who can't see them 2022-11-03 03:33:37 -05:00
justcool393 6eec00285f users: fix bug where is_following isn't set for private users 2022-11-03 03:18:34 -05:00
Snakes a310d43b10
Fix DMs not checking blocks. 2022-11-02 16:23:01 -04:00
Aevann1 f73c6d46df accomodate rdrama.com users 2022-11-02 08:31:04 +02:00
justcool393 1e9f9564dc commentsaverelationship 2022-11-01 12:19:21 -05:00
justcool393 62e171c09a fix mbux -> coins 2022-11-01 03:54:02 -05:00
justcool393 6d636e4e42 use charge_account everywhere 2022-11-01 00:25:19 -05:00
justcool393 67b56fb743 users: fix comments page 2022-10-31 23:37:29 -05:00
justcool393 d1e35e4afe fix prev commit 2022-10-30 02:37:31 -05:00
justcool393 cd60a11180 users: add the previous improvements to comments 2022-10-30 02:36:50 -05:00
justcool393 7f716a6e72 users and search: add status codes 2022-10-30 02:33:42 -05:00
justcool393 5d2f4d203b users: add is_visible_to function for checking user visibility to a certain other user 2022-10-30 02:31:21 -05:00
justcool393 68deff8f60 users: is_following adjustments
users: move is_following check to part of the user model itself
users: also don't query followers if the username is wrong and we're redirecting anyway
2022-10-30 02:19:49 -05:00
justcool393 8a3be91c04 users: procoins feature required to be able to transfer mbux 2022-10-30 02:10:21 -05:00
justcool393 27738ef7c9 add type annotations and fix prev commit 2022-10-30 02:07:37 -05:00
justcool393 9bf1ac689c users: fix bug that would steal coins or mbux if they entered a reason that was too long
users: refactor transfer_currency into its own thing
2022-10-30 02:05:02 -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
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 ad358650e1 remove retarded bullshit I wasn't consulted about 2022-10-27 19:53:08 +02:00
Aevann1 fbeac461ca refactor poorcel mode 2022-10-25 18:07: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
Aevann1 0b851d237c remove exploit allowing jannies to unpin award pins 2022-10-23 23:52:11 +02:00
Aevann1 04aa88f71f fix jigsaw WPD tier 2022-10-21 16:44:31 +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
Aevann1 44fca7f086 ripbozo 2022-10-17 21:13:33 +02:00
justcool393 aa508fc076 remove discord 2022-10-16 05:42:52 -07: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 24e7828ae0 fix vote_dir in @user/voted/comments 2022-10-16 10:10:50 +02:00
justcool393 c428a59397 v -> v and v.client 2022-10-15 04:18:07 -07: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 6a11de21e0 fix 500 error 2022-10-14 17:29:26 +02:00
Aevann1 89a0ff4a4b remove username reservation system 2022-10-14 14:01:06 +02: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
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
Snakes 166e33dc38
Clarify architecture of sort_objects. 2022-10-12 04:05:26 -04:00
Aevann1 2aa281e8c8 refactor sorting again (untested) 2022-10-12 09:03:28 +02:00
Aevann1 b1abd33835 refactor sorting 2022-10-12 08:10:11 +02:00
justcool393 c0acb1722b abort a bunch of stuff where we manually returned JSON 2022-10-11 08:40:19 -07:00
justcool393 9ec3fb3b51 use proper get function 2022-10-11 06:37:40 -07:00
justcool393 456dd43bba replace "if not FEATURES" with wrapper 2022-10-11 00:33:23 -07:00
justcool393 75e593da00 Revert "feature required wrapper"
This reverts commit 8700bcc5ee.
2022-10-10 02:54:47 -07: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
justcool393 8ea52ba95c constantify comment body length limit and transfer limit 2022-10-09 00:20:28 -07:00
justcool393 b96d6a1ccb scope variables properly 🤤 2022-10-08 23:44:09 -07:00
justcool393 1ad12e0524 deduplicate more of this page's code 2022-10-08 23:44:09 -07:00
justcool393 13446a4708 remove duplicate code in the template 2022-10-08 21:26:41 -07:00
Snakes 10921331fa
Move user hat properties for userpage to model. 2022-10-08 16:30:27 -04:00
Snakes 8bb145d23c
Fix userpage hats owned display. 2022-10-08 16:12:03 -04:00
justcool393 360723f761 num hats fix (and pct fix too?) 2022-10-08 10:53:54 -07:00
justcool393 491d71a9b5 add owned hats to user page per fish request 2022-10-08 10:37:44 -07:00
justcool393 e372158729
Merge branch 'frost' into permissions-refactor 2022-10-06 19:05:42 -07:00
Aevann1 dc93b5b7d2 get rid of the downvote table 2022-10-07 00:21:24 +02:00
Aevann1 0848008c8d fix prev leaderboard commit 2022-10-07 00:10:10 +02:00