Commit Graph

156 Commits (ee3b1a5e06b316b43446fa9acfec0c780cc8bce9)

Author SHA1 Message Date
Aevann 721bda827f remove the sorting by unread (pretty confusing when u have multiple pages) 2023-03-23 14:03:45 +02:00
Aevann f329433443 put unread notifs first 2023-03-19 20:05:53 +02:00
Aevann 62fcaec40d fix muted users not notifying the person they reply to 2023-03-19 10:30:03 +02:00
Aevann 57765f0776 revert sqlalchemy changes 2023-03-16 08:27:58 +02:00
Aevann e7dc7c5641 fix 2023-03-15 07:09:46 +02:00
Aevann f768d81103 keep db sessions open 2023-03-15 05:58:00 +02:00
Aevann 40834d8277 fix unread highlight 2023-03-11 12:11:39 +02:00
Aevann ccf6ccd468 same as last commit 2023-03-11 11:50:29 +02:00
Aevann c58872e3c6 same as last commit 2023-03-11 11:12:16 +02:00
Aevann a88a1dab92 minimize db queries in /notifications 2023-03-11 11:11:17 +02:00
Aevann 69649cb503 minor improvement to notifs 2023-03-11 10:51:19 +02:00
Aevann 19e3145f45 improvement to notifs 2023-03-11 10:21:33 +02:00
Aevann d8575791be notif fix 2023-03-10 01:41:57 +02:00
Aevann 117624f313 add session["GLOBAL"] 2023-03-02 22:29:22 +02:00
Aevann 4980bafc62 fix duplicate notifs 2023-02-28 20:51:11 +02:00
Aevann 24b3e96e03 minor fix to notifs 2023-02-28 19:27:36 +02:00
Aevann 8f50c90b17 fix to /notifications 2023-02-28 18:52:29 +02:00
Aevann 86b0d2f5c1 fix comments not appearing 2023-02-27 18:16:12 +02:00
Aevann 984aecec9a destroy the shadow realm (#135)
Co-authored-by: Aevann <randomname42029@gmail.com>
Reviewed-on: rDrama/rDrama#135
2023-02-27 15:38:12 +00:00
Aevann 17bb6dad48 blackjack fix exploit 2023-02-27 07:33:45 +02:00
Aevann e1c9f752c3 better replies 2023-02-27 04:11:41 +02:00
Aevann 6e3dd62a47 fix irrelevant replies in notifs 2023-02-27 03:56:10 +02:00
Aevann 825cee14eb always show parent comment in /notifications 2023-02-26 13:14:18 +02:00
Aevann fe0b8887bc change 1/second ratelimit to 1/2 second 2023-02-26 12:26:26 +02:00
Aevann 8085fa3351 make modmail appear in /search/messages 2023-02-26 11:22:42 +02:00
Aevann 890fedf1f3 remove redundant condition 2023-02-26 11:14:39 +02:00
Aevann 82a73392a9 fix errors 2023-02-26 10:49:09 +02:00
Aevann 8c495c914a default ratelimit doesnt apply implicitly if theres other @limiter.limit before the function, so add it explicity before all functions 2023-02-26 10:41:04 +02:00
Aevann 7aaeedea36 better ratelimiting 2023-02-26 03:42:39 +02:00
Aevann 6cc9c784cc minor changes to notifs 2023-02-26 01:44:31 +02:00
Aevann 8be4e6adc2 always show parent comment in notifications 2023-02-25 21:57:50 +02:00
Aevann 6b2bbb066f same as last commit 2023-01-27 15:51:04 +02:00
Aevann ffa04a3cd5 constantify my log action types 2023-01-27 10:18:05 +02:00
Aevann d6dda995af fix cartesian product 2023-01-26 07:47:20 +02:00
Aevann 2754abb58e fix 500 error 2023-01-26 07:39:17 +02:00
Aevann 5eea908e6f fix 500 error 2023-01-26 07:36:41 +02:00
Aevann ab580f626f fix 500 error 2023-01-26 07:31:47 +02:00
Aevann a40dee5bd8 improve user ratelimiting 2023-01-21 06:39:46 +02:00
Aevann 044664a25e get rid of useless tabs and spaces 2023-01-01 13:36:20 +02:00
Aevann 8ee189022b seething hatred 2022-12-30 21:01:47 +02:00
Aevann c4872ecb07 Revert "attempt to fix ratelimiting user"
This reverts commit 99597fc36c.
2022-12-30 20:43:13 +02:00
Aevann 99597fc36c attempt to fix ratelimiting user 2022-12-30 20:40:58 +02:00
Aevann 9a8c986f93 attempt to fix ratelimiting user 2022-12-30 20:33:07 +02:00
Aevann 04c91082a5 also show me "unshadowban" and "unban_user" 2022-12-28 11:37:55 +02:00
Aevann 97476a604e actually fix this https://stupidpol.site/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/3295805 2022-12-24 00:30:03 +02:00
Aevann 4d1183f3ec Revert "Revert "fix this https://stupidpol.site/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/3256216?context=8#context""
This reverts commit 5a41160865.
2022-12-24 00:29:04 +02:00
Aevann 5a41160865 Revert "fix this https://stupidpol.site/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/3256216?context=8#context"
This reverts commit 537e729195.
2022-12-24 00:26:58 +02:00
Aevann 667142adc4 try fixing https://stupidpol.site/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/3295805 2022-12-24 00:24:16 +02:00
Aevann1 c190fa89b2 give jannoids notifs for deleted and removed comments 2022-12-19 23:28:37 +02:00
Aevann1 537e729195 fix this https://stupidpol.site/post/18459/marseycapywalking-megathread-for-bugs-and-suggestions/3256216?context=8#context 2022-12-17 17:57:50 +02:00
Aevann1 fdf8380659 fix wrong syntax (marseybrainlet) 2022-12-16 22:25:48 +02:00
Aevann1 ecfba3e3b5 give me notifs for only "ban_user" and "shadowban" 2022-12-16 21:34:01 +02:00
Aevann1 7fa88a3633 make unread inaccessible notifs as read 2022-12-13 18:47:57 +02:00
justcool393 ab41db22b7 [DO NOT MERGE] multiple sub banners (#59)
allows multiple sub banners

Snakes note: By request of Carp, especially for WPD.

Co-authored-by: justcool393 <justcool393@gmail.com>
Co-authored-by: Snakes <duolsm@outlook.com>
Reviewed-on: rDrama/rDrama#59
Co-authored-by: justcool393 <justcool393@noreply.fsdfsd.net>
Co-committed-by: justcool393 <justcool393@noreply.fsdfsd.net>
2022-12-11 23:44:34 +00:00
Aevann1 7f4691c79d fix prev commit 2022-12-01 00:33:41 +02:00
Aevann1 e1ed46fa36 rework reddit notifs - testing on pcm lol 2022-12-01 00:29:13 +02:00
justcool393 0ff034b01b add typing to a bunch of routes 2022-11-26 15:00:16 -06:00
Snakes 9eab252e5b
Fix reply/mention notifications from muted users.
Consider the case of the current /notifications filter condition:
    WHERE ... NOT ((comments.sentto = 2) AND (users.is_muted))

SELECT 1 WHERE NOT ((null = 2) AND (true)); ⇒ 0 rows
SELECT 1 WHERE NOT ((1 = 2) AND (true)); ⇒ 1 row
SELECT 1 WHERE NOT ((2 = 2) AND (true)); ⇒ 0 rows

We want the first expression, where comments.sentto = null, to evaluate
to false, not to null, so it negates to true. Behavior as written is:

SELECT 1 WHERE NOT ((null = 2) AND (true)); →
SELECT 1 WHERE NOT (null AND true); →
SELECT 1 WHERE NOT null; →
SELECT 1 WHERE null;

Which guarantees a null return set. If we check first for non-nullity:

SELECT 1 WHERE NOT ((null IS NOT null) AND (null = 2) AND (true)); ⇒ 1
SELECT 1 WHERE NOT ((1 IS NOT null) AND (1 = 2) AND (true)); ⇒ 1
SELECT 1 WHERE NOT ((2 IS NOT null) AND (2 = 2) AND (true)); ⇒ 0
2022-11-21 23:08:31 -05:00
justcool393 255d5b2453 security: fix mute bypass
modmail: constantify user ID
2022-11-17 16:50:06 -06:00
justcool393 a9ebe37e61 sddsdsd 2022-11-15 06:52:17 -06:00
justcool393 3fba55b4ae fix unread 500 2022-11-15 06:51:48 -06: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
Snakes f6dea300b0
Adjust shadowed comment visibility.
- Don't show shadowed comments to non-jannies in notifications.
- Auto-collapse for jannies in notifs/threads.
2022-11-13 17:13:14 -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 7f36637b54 test 2022-11-13 00:11:56 -06:00
Aevann1 18c7fb365e move the logic for my prev commit to SQLalchemy 2022-11-12 11:24:05 +02:00
Aevann1 9b85fd5dd5 hide modmail messages from muted users in the main notifications tab (they still appear in the modmail tab) 2022-11-12 11:19:56 +02:00
Snakes ebb3957f41
Eager load submission listing relationships. 2022-11-09 09:16:22 -05:00
Aevann1 8b1f76f727 add hole actions notifs for hole mods 2022-11-08 15:49:43 +02: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 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 2aa281e8c8 refactor sorting again (untested) 2022-10-12 09:03:28 +02:00
Aevann1 e1ee9a69e4 refactor seeing shadowbanned shit (untested) 2022-10-12 08:24:30 +02:00
justcool393 48384ba8e5 convert a couple of the old constantified permissions to the new system
i don't want to break something so i'm keeping one of them for now but it just links
2022-10-07 01:50:20 -07:00
justcool393 57b08043a4 notification settings and admin setting 2022-10-05 21:40:02 -07:00
justcool393 c2109fd611 modmail viewing perm 2022-10-05 20:10:57 -07:00
justcool393 2fc3044d5b shadowban perms and stuff 2022-10-05 19:24:37 -07:00
Aevann1 4e7510ef64 increase notif count from 10 to 50 2022-10-05 23:11:52 +02:00
Snakes 4a54c6219a
Add trailing final newlines to source files.
Touched a ton of files to finally standardize on having trailing
final newlines, as best practice recommends and so our devs stop
accidentally fighting each other over it.

This was performed automatically with the following:
git ls-files -z '*.py' | while IFS= read -rd '' f; \
    do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
git ls-files -z '*.css' | while IFS= read -rd '' f; \
    do tail -c1 < "$f" | read -r _ || echo >> "$f"; done
2022-09-29 01:43:29 -04:00
Aevann1 13f84a778e change wording 2022-09-24 02:00:43 +02:00
Aevann1 d1e391683b fix unread attribute 2022-09-17 23:59:49 +02:00
Aevann1 09422ebf29 highlight unread DMs in /notifications/messages 2022-09-11 11:06:09 +02:00
Aevann1 327176d31b show most recent replies in /notifications at the top 2022-09-10 11:06:34 +02:00
Aevann1 c1aae95d16 restore "notify followers" checkbox 2022-09-10 09:00:45 +02:00
Snakes ad31fe854b
DMs: add unread indicator, sort by recent reply. 2022-09-09 20:30:56 -04:00
Aevann1 0c32d56cd6 casino + style shit 2022-09-05 01:15:37 +02:00
Aevann1 16626ceb4f reduce max notification depth from 50 to 10 2022-08-15 20:10:45 +02:00
Aevann1 593b74c969 exclude me from modmail notifs in our sites 2022-08-13 01:06:19 +02:00
Aevann1 14a00b5357 fix previous commit 2022-08-06 00:02:41 +02:00
Aevann1 2e3548eb77 remove modmail from my notifs (cancer) 2022-08-05 23:59:40 +02:00
Aevann1 0429da4493 mod action notifs rework 2022-08-05 23:50:30 +02:00
Aevann1 3ecde34fef hide blocked users from post notifs 2022-07-18 01:00:51 +02:00
Aevann1 077353c1f4 hide ghost posts from post notifications 2022-07-12 21:42:23 +02:00
Aevann1 ae45b45bfb refactor json again 2022-07-11 19:33:26 +02:00
Aevann1 bc4074f9aa fix api 500 errors 2022-07-11 19:19:48 +02:00
Aevann1 0b7a5208e9 fix reddit mention bugs 2022-07-10 16:09:41 +02:00
Aevann1 683c9c7bdd fix lingering notifications 2022-07-08 21:42:40 +02:00
Aevann1 f298d134ac make "clear all notifications" button also clear post notifs 2022-07-08 21:33:26 +02:00
Aevann1 65a98cd9fc dont show notifications for posts the user himself makes in a hole they follow 2022-07-08 21:14:04 +02:00