Commit Graph

289 Commits (5c4e0a5b791bdbcb4f1ebf7cc1fa2d34488fd234)

Author SHA1 Message Date
Aevann1 4dbc4096d3 remove weird variable 2022-11-15 16:45:18 +02: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
justcool393 fd1b7d98bb voting in the shadow realm fixes 2022-11-12 07:55:16 -06:00
Aevann1 0f9bde0d7b sneed 2022-11-12 14:10:32 +02:00
Aevann1 1b4856e20f exclude slackernews from hole nerf 2022-11-11 15:37:40 +02:00
Aevann1 37068acadf exclude ('space', 'istory', 'dino') from hole nerf 2022-11-11 11:40:31 +02:00
Snakes 047571ae57
Revert "ranking: don't progstack every single post"
This reverts commit 7011c85313.
2022-11-09 18:31:29 -05:00
justcool393 7011c85313 ranking: don't progstack every single post 2022-11-09 17:18:34 -06:00
Aevann1 876f1d48f1 extend BOOSTED_USERS to comments 2022-11-09 23:28:11 +02:00
Aevann1 368b575716 add a comment in votes.py explaining my motivation 2022-11-09 22:56:27 +02:00
Aevann1 d85ac23c3c add BOOSTED_USERS 2022-11-09 22:53:24 +02:00
Aevann1 c8b4947fa4 tweak rdrama algo 2022-11-09 21:02:17 +02:00
Aevann1 aaa98b9290 sneed 2022-11-08 12:43:53 +02:00
Aevann1 9d22dbe92e sneed 2022-11-08 12:01:30 +02:00
justcool393 0fffa7efc0 rename truecoins to truescore 2022-11-06 23:04:34 -08:00
Aevann1 be2b4b6b59 apply perma progstack to /h/masterbaiters 2022-11-07 08:44:39 +02:00
Aevann1 507dc83ecd will someone pls kill me 2022-11-07 05:16:14 +02:00
Aevann1 ea101e77c5 give /h/cowtown perma-progstack 2022-11-07 04:14:45 +02:00
Aevann1 b526f6cc21 apply the realupvotes manipulation logic in rdrama only, since its the only site that uses realupvotes anyway 2022-11-07 03:35:46 +02:00
Aevann1 4c5c583c4d sneed 2022-11-07 03:13:57 +02:00
Aevann1 e3fb1b8871 fix 500 erro 2022-11-07 02:55:12 +02:00
Snakes 1eaebd2ea1
Extend special API comment display to bussy-bot. 2022-11-06 19:49:50 -05:00
Aevann1 e6d008e455 remove unnecessary tab character 2022-11-07 02:47:12 +02:00
Aevann1 acb8719236 slightly throttle posts in most holes to account for follower pings giving them an unfair advantage over unholed posts 2022-11-07 02:46:48 +02:00
Aevann1 7fc3488854 add 4 more boosted holes 2022-11-05 16:07:53 +02:00
justcool393 d5812096af voting: allow voting to cause a user's DC balance to go negative 2022-11-01 12:50:01 -05:00
Aevann1 6778ef14ad diversity is our strength 2022-10-30 20:27:36 +02:00
Aevann1 c4063f081c moved boosted sites to const.py 2022-10-30 00:53:42 +02:00
Aevann1 eb2adf4dc2 add more boosted sites 2022-10-30 00:52:38 +02:00
Aevann1 21aff0976b add more boosted sites 2022-10-30 00:49:53 +02:00
Aevann1 5201b1bc5a boost unusual drama sources 2022-10-29 19:20:59 +02: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 ef840c4afd make it so you can't vote on messages 2022-10-15 10:12:55 -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 cdff11424f use charge_account everywhere 2022-10-12 18:33:00 +02:00
justcool393 941b5fa82d vote realness is in user model 2022-10-11 23:47:47 -07:00
justcool393 7ee3c78b2e ree 2022-10-11 22:51:04 -07:00
justcool393 5591d7d574 fix real votes 2022-10-11 22:27:27 -07: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 c0acb1722b abort a bunch of stuff where we manually returned JSON 2022-10-11 08:40:19 -07:00
Aevann1 d98e4c9c1c convert repo from CRLF to LF 2022-10-04 17:24:58 +02:00
justcool393 40c2360d00 don't duplicate checks for comments 2022-09-30 15:51:17 -07:00
Aevann1 135bd2c60c remove unnecessary gay shit 2022-09-14 11:20:59 +02:00
Aevann1 73dbb2dd7e change t2_ and t3_ to p_ and c_ 2022-09-06 00:52:22 +02:00
Aevann1 0c32d56cd6 casino + style shit 2022-09-05 01:15:37 +02:00
Aevann1 e5b2675f0d try to fix db 500 errors on wpd 2022-09-01 21:05:37 +02:00
Aevann1 f92a83724b try to fix 500 error in WPD 2022-08-26 16:57:14 +02:00
Aevann1 6a21dd347b Revert "Revert "Revert "restore autoflush"""
This reverts commit d84b26fc77.
2022-08-25 17:04:33 +02:00
Aevann1 d84b26fc77 Revert "Revert "restore autoflush""
This reverts commit 5aa03d87bb.
2022-08-24 16:36:44 +02:00
Aevann1 e5046c9f20 remove /h/slackernews from the boost 2022-08-24 00:00:15 +02:00
Aevann1 120fe920d7 give a pemanent progstack effect to posts linking to '.win' domains 2022-08-23 17:29:24 +02:00
Aevann1 83e8d7b015 give a permenant progstack effect to ('slackernews','space','istory','dinos') 2022-08-23 17:28:00 +02:00
Aevann1 5aa03d87bb Revert "restore autoflush"
This reverts commit 687cd766b9.
2022-08-23 17:17:37 +02:00
Aevann1 687cd766b9 restore autoflush 2022-08-17 18:36:59 +02:00
Aevann1 9341f2368a make some function names shorter 2022-08-11 06:05:23 +02:00
Aevann1 57cc579b30 try to fix 500 error caused by vote constraints 2022-08-11 06:03:09 +02:00
Snakes 0c43deeee6
FEATURES: pronouns, kys, chat, house, /vote perm. 2022-07-18 02:43:20 -04:00
Aevann1 2d21863e19 replace "request.host" with "SITE" 2022-07-13 20:14:37 +02:00
Aevann1 2a95c25675 allow @bbbb to vote 2022-07-12 21:23:37 +02:00
Aevann1 b617321529 move all env-getting to .const 2022-07-08 18:21:13 +02:00
Snakes a3f94a77f3 Fix comment /votes/ 500 when no upvoters. 2022-07-07 19:53:28 -04:00
Aevann1 1a0b2b6813 fix 500 errors 2022-07-02 08:51:19 +02:00
Aevann1 d0d15c319a Poll rework (#312)
* poll rework

* forgot to do joinedload on comments

* Fix logic errors with voting, SQL syntax.

Kitchen sink commit from review of poll-rework changes:
  1. Fix seed-db.sql syntax error.
  2. Fix SQL patch file duplication of *submissions* tables rather
     than one set of submissions and one for comments.
  3. Start makeshift SQL patch folder, since this is a large change
     that contributors may wish to apply to their local instances.
  4. Fix checkbox (non-`exclusive`) polls being unable to be
     unchecked. For consistency with `exclusive` polls, they should.
  5. Fix changing the option of an `exclusive` poll when both
     exclusive and non-exclusive options are present in one comment/
     post causing the non-exclusive options to become unchecked.
     (which, by my reading of SQLAlchemy `Query.one_or_none()`
     really could break quite badly in some cases).

* link relationships with their counterparts

* small modification to poll unchecking

Co-authored-by: TLSM <duolsm@outlook.com>
2022-07-02 08:48:04 +02:00
Aevann1 8c246e5678 separate large numbers by value in /votes 2022-07-01 01:42:55 +02:00
Aevann1 1362278cb4 add more data for jannies in /votes page (will use that in polls) 2022-07-01 01:39:09 +02:00
Snakes 159af40cfe Fix /bet route not enforcing exclusive votes. 2022-06-28 03:43:16 -04:00
Aevann1 7e7450ef33 Made it possible to downvote poll options again
for schizocel my beloved
2022-06-28 09:20:29 +02:00
Aevann1 4a1359713f use the variable "poll_bots" 2022-06-28 04:00:28 +02:00
Aevann1 e7ce39bd80 fix poll-voting 2022-06-26 22:53:12 +02:00
Aevann1 cff34fb3a4 reducing query volume, #2 2022-06-26 03:11:02 +02:00
Aevann1 6f6d01c1c6 actually use the get functions 2022-06-24 15:19:53 +02:00
Aevann1 f60db1598d replace "g.db.query" on pkeys with the much more efficient "g.db.get" 2022-06-18 02:57:23 +02:00
Snakes 04a878a8c4 Make betting polls respect can_gamble. 2022-05-30 08:13:11 -04:00
Snakes c789f6923e Merge remote-tracking branch 'upstream/frost' into birthgay-staging 2022-05-19 17:59:35 -04:00
Snakes f0c9a354e9 Implement better double XP infrastructure.
Double XP now has a constant for unixtime to start. Logic around
DXP is designed to only apply to votes made after DOUBLE_XP_ENABLED.
This prevents an exploit in the old implementation where spam voting/
unvoting a post made prior to the DXP start could farm 300 DC/hr/alt.
Also it's more maintainable and comports with the coin_delta changes
to prevent self-vote coin changes.
2022-05-18 00:54:05 -04:00
Aevann1 b71ae6cc74 sf 2022-05-09 13:21:49 +02:00
Aevann1 6b10d097a2 mn 2022-05-05 01:09:46 +02:00
Aevann1 93c0bbff60 sdf 2022-05-04 02:47:06 +02:00
Aevann1 47d01ed00b vb 2022-05-03 04:15:35 +02:00
TLSM d1e2926ca3 Fix comment self-upvote removal UI bug. (#236)
Fixes minor UI bug when removing self-upvote on a comment. Previous
behavior, starting from a new comment:
    - Initial state: score 1 from self-upvote, upvote button shows
      highlighted as `color: var(--primary)`.
    - Click on upvote button to remove self-upvote → button
      unhighlights, score displays as 0.
    - [reload page]
    - Score displays as 0, but button is highlighted.
    - Click on upvote button → button unhighlights, score displays
      as -1. [If you reload the page now, state is score 0 &
      highlighted; no change in serverside votes.]
    - Click on upvote again → button highlights, score displays as 0.
    - [reload page]
    - Score displays as 1, button is highlighted.
Direct cause is `templates/comments.html @ L115-117`. I checked
`api_comment`, though, and it adds a vote on new comments, and that
state change propagates to the template's parameters before it renders,
so I believe the only time this triggers is specifically when a user
has removed their self-upvote. Bug is fixed when testing with L115-117
removed. Is there some other edge case it was meant to solve?

Secondary bugfix: Removing a self-upvote _costs_ you a coin & a
truescore point. I think this is one of the few ways to get negative
dramacoin. I chose to fix it by having self-votes and self-unvotes not
change coins/truecoins. The alternative of having new comments & posts
give the user +1 coin/truecoin would modify site behavior, and you'd
retroactively owe some powerusers thousands of DC & truescore.
2022-05-02 20:12:28 +02:00
Aevann1 df793e5347 fsd 2022-04-20 21:25:19 +02:00
Aevann1 1042072ad8 fsd 2022-03-31 16:25:49 +02:00
Aevann1 47ddcd97bb fg 2022-03-29 21:34:35 +02:00
Aevann1 c90792d663 fds 2022-03-21 02:40:15 +02:00
Aevann1 8e68ce92eb g.db.commit() 2022-03-19 14:52:36 +02:00
Aevann1 514d6ec126 right 2022-03-09 03:44:53 +02:00
Aevann1 6681ca4236 fds' 2022-02-23 07:17:03 +02:00
Aevann1 9c4dcb1144 gf 2022-02-16 03:42:11 +02:00
Aevann1 729e4a4c62 g 2022-02-16 03:16:01 +02:00
Aevann1 156774e9c0 fds 2022-02-07 14:46:28 +02:00
Aevann1 486023e7cb cxv 2022-02-07 14:38:45 +02:00
Aevann1 820d8387f9 xv 2022-02-07 13:39:26 +02:00
Aevann1 dbdcb5d56b fds\ 2022-02-05 13:31:05 +02:00
Aevann1 5ade054494 sd 2022-02-04 10:59:12 +02:00
Aevann1 27766290a9 vxc 2022-02-03 08:39:02 +02:00
Aevann1 9c1c225ed9 cxzxzc 2022-01-22 12:14:15 +02:00
Aevann1 0233c58a2e cxvxcv 2022-01-21 22:56:56 +02:00
Aevann1 81078c5877 fds 2022-01-19 11:07:16 +02:00
Aevann1 e361b151c2 vcxcxv 2022-01-17 23:36:04 +02:00
Aevann1 82a30923c9 fff 2022-01-17 15:15:01 +02:00
Aevann1 c82bdaa4d3 f 2022-01-17 15:09:11 +02:00
Aevann1 2b6418a132 testing 2022-01-15 08:31:17 +02:00
Aevann1 c9098526ed b 2022-01-14 14:04:34 +02:00
Aevann1 6ecf15476a g 2022-01-14 01:29:15 +02:00
Aevann1 5255ead466 closing2 2022-01-11 23:54:41 +02:00
Aevann1 b69199054c under attack 2022-01-09 17:15:02 +02:00
Aevann1 2c7a98e433 big one 2022-01-06 18:46:09 +02:00
Aevann1 00e5e1c048 fsd 2022-01-02 02:06:46 +02:00
Aevann1 29a8c604e1 big update 2022-01-01 01:45:27 +02:00
Aevann1 702d528d4a fsd 2021-12-27 03:08:06 +02:00
Aevann1 19bacd8357 pins logic rework 2021-12-26 03:03:21 +02:00
Aevann1 88dc847861 fds 2021-12-24 05:59:07 +02:00
Aevann1 fd24e7d9ee fdsfsd 2021-12-23 17:37:12 +02:00
Aevann1 4135175d8a fdssfd 2021-12-20 22:03:59 +02:00
Aevann1 efff0400ef fsfs 2021-12-20 02:27:25 +02:00
Aevann1 68bc992da1 sfdsdf 2021-12-19 15:01:28 +02:00
Aevann1 2357c422ba fdsfsd 2021-12-16 20:12:26 +02:00
Aevann1 8900b50ff9 fdsfsd 2021-12-14 00:23:33 +02:00
Aevann1 d3b3bfff19 fsddsf 2021-12-13 22:17:39 +02:00
Aevann1 2660637f33 sfdsdf 2021-12-12 19:37:20 +02:00
Aevann1 8532719783 fdsfds 2021-12-12 19:06:48 +02:00
Aevann1 c178caab06 fdsfds 2021-12-11 04:32:58 +02:00
Aevann1 667083f387 dfsfds 2021-12-11 04:32:21 +02:00
Aevann1 34657d207d dfsfsd 2021-12-11 04:27:46 +02:00
Aevann1 c4d9dc8b3e fdsfds 2021-12-10 19:31:32 +02:00
Aevann1 edca73723a sfdsfd 2021-12-09 23:21:52 +02:00
Aevann1 c94ffa3adf fdfd 2021-12-03 21:05:54 +02:00
Aevann1 cc60f73f45 sfdfsd 2021-12-01 20:48:04 +02:00
Aevann1 36cfdd672c gfg 2021-12-01 03:10:36 +02:00
Aevann1 1594c15836 fsdfsd 2021-12-01 03:09:11 +02:00
Aevann1 0ce036e13a dfdf 2021-12-01 01:21:29 +02:00
Aevann1 9f62ea6351 fdfsd 2021-11-30 18:37:28 +02:00
Aevann1 1657464395 dfsf 2021-11-30 16:48:55 +02:00
Aevann1 452cd69152 fdfds 2021-11-30 16:34:41 +02:00
Aevann1 01746b4297 fsdfds 2021-11-30 16:31:26 +02:00
Aevann1 c436424bd1 fdsfd 2021-11-30 16:23:34 +02:00
Aevann1 63f09542e5 fdsfds 2021-11-30 16:18:16 +02:00
Aevann1 c7e349c558 fdsfsd 2021-11-27 21:41:37 +02:00
Aevann1 6713493d5f splash 2021-11-16 23:21:53 +02:00
Aevann1 12210e92d9 fdsfsd 2021-11-16 03:49:49 +02:00
Aevann1 2840a5d1c3 fddf 2021-11-12 00:49:58 +02:00
Aevann1 d90a161c45 dfsfds 2021-11-07 16:09:20 +02:00
Aevann1 9e449dd8b0 redundant 2021-11-06 17:52:48 +02:00
Aevann1 5d7770addd fdssfd 2021-11-06 04:08:29 +02:00
Aevann1 80d46a0edc dfsdfs 2021-11-06 03:43:09 +02:00
Aevann1 0ed1212131 dfsf 2021-11-06 02:33:32 +02:00
Aevann1 83dcd2b198 fds 2021-11-02 13:33:36 -07:00
Aevann1 8cbd388cb1 first 2021-10-26 23:10:31 +02:00
Aevann1 90b64b81ca gfd 2021-10-25 04:44:54 +02:00