Commit Graph

12573 Commits (8709ca816d0212d08c569764b4eb1c01991fde6d)

Author SHA1 Message Date
Snakes 8709ca816d Add Y'all Seein' Eye award v2 for offsitementions.
Reusing the assets and design for the ill-fated YSE in a0f441a67d.
This time, the award provides access to our offsite mentions (reddit
notifs).
2022-06-10 07:12:19 -04:00
Snakes bea6d82b61 Lottery: fix granted value, zero royalty.
grant_lottery_tickets_to_user incorrectly deposited the full ticket
value into manager account, not just the net value.

Additionally, royalty rate has been set to zero because Chapose won
the first lottery and grifting 8% that could instead go into the
prize pool seems unwarranted given that.
2022-06-10 06:15:37 -04:00
Snakes b0554ce303 Add follower count to /holes table. 2022-06-10 06:06:56 -04:00
Snakes 5f7b38b477 Refactor stat timers, award timers.
Prior to this comment, the every-1d cron.py command was broken due
to lack of proper stats import. However, while refactoring this, it
was convenient to move other recurring tasks that had been stuffed in
odd places--not least `stats(...)`--into the new cron system. This
entailed a number of refactorings of other things.

1. Move stats(...) from static.py to helpers/stats.py.
2. Move hole inactivity purge task from stats(...) to routes/subs.py.
3. Move bot award timer checks from stats(...) to helpers/awards.py.
4. Unify award timer logic formerly in routes/front.py into the new
   helpers/awards.py.
2022-06-10 05:47:41 -04:00
Aevann1 934b631730 rename /create_sub to /create_hole 2022-06-10 00:29:45 +02:00
Aevann1 3a9f3c329f fix hole deletion 2022-06-10 00:13:33 +02:00
Aevann1 10f3d4035d delete inactive holes 2022-06-10 00:07:17 +02:00
Snakes dc7f13304e Add following holes for notifications. 2022-06-09 16:24:24 -04:00
Aevann1 39e0e6d017 make cron also calculate stats (based and cronpilled) 2022-06-09 20:09:49 +02:00
Aevann1 c100ed415c increase edit_post ratelimit so it doesnt fuck with drafts 2022-06-09 20:09:18 +02:00
Aevann1 63c16a867a make the ratelimit for editing much lower to cut
down on mass overwriting
2022-06-09 18:10:25 +02:00
Aevann1 cea253a52c don't notify me anymore of carp posts 2022-06-09 15:29:13 +02:00
Aevann1 900edaa92e made it so you can click "CTRL+Enter" anywhere in
/submit in order to make a post
2022-06-09 13:12:25 +02:00
Snakes b94e71450f Add un-holing to hole report command. 2022-06-09 02:42:52 -04:00
Snakes 5a5a0f6bd1 Swap badge 139 asset to rescale. 2022-06-08 01:29:12 -04:00
Snakes 63f45f81fd Make shop flavor text site-specific. 2022-06-07 23:25:39 -04:00
Snakes ed240735fb Improve slur replacer performance, part deux.
h/t @official-techsupport again for finding another optimization.
We are now cumulatively at about 70% speedup over original.
It remains one of the hottest paths of the codebase in relative
terms, but its absolute performance demands have decreased enough
to buy us potentially substantial time on it.
2022-06-07 21:56:14 -04:00
Snakes da82ea81d8 Improve slur replacer performance.
h/t @official-techsupport for digging into the regex performance and
coming up with one that greatly reduces backtracking. We see an
approximately 2x speedup under typical loads, which proves to be a
major overall savings in performance. Previously, censor_slurs was,
second to ORM DB accesses, by far the most time-consuming function
in the codebase under typical loads. It's still not ideal, but it is
much better.

Future options to improve this critical path further would be:
  1) Precompute a slur-replaced HTML, rather than recomputing
     each pageload. Storage is cheap.
  2) Tokenize the HTML and replace plaintext words using O(1)
     exact-match lookups to a dict.
2022-06-07 21:16:58 -04:00
Snakes e85d76947a Lottery: fix negative ticket quantity exploit. 2022-06-07 17:50:31 -04:00
Snakes 995375decc Refactor reddit mentions, move to cron.
The reddit mentions system contained much duplicated code and was
grafted onto the post thumbnail pipeline to achieve semi-regular
invocation. Instead, we now run it through the new cron system,
and the duplicate code has been refactored out.
2022-06-07 10:42:24 -04:00
Snakes 152315f73e cron: Move charts from static to helper. 2022-06-07 08:31:24 -04:00
Snakes ace0a62f69 cron: Add lottery as scheduled task. 2022-06-07 07:36:55 -04:00
Aevann1 690d4d72ed Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-06-07 13:34:59 +02:00
Snakes e217335b3a Make pat anims unaffected by anim setting. 2022-06-07 07:29:07 -04:00
Aevann1 d431ae1ecd re-prioitize effortposts (with a lot of links) in the frontpage 2022-06-07 13:26:39 +02:00
Snakes b187b72746 Remove backdrop blur on modals.
By direct command of Benevolent rDrama Caliph for Life, his
exaltedness Aevann. Was causing performance issues on a large
number of users' systems.
2022-06-07 07:23:46 -04:00
Snakes acb3a0b338 Enable flask command, add cron target.
Adding an empty __init__.py, the imports-only cli.py, and setting
FLASK_APP in the environment are enough to get the `flask` command
to work. This will enable future changes, including database
migrations.

The proximate reason for the fix is to add a `flask cron` command
to run scheduled tasks within the application from cron. Specifically,
the lottery should be run from cron.
2022-06-07 06:57:26 -04:00
Aevann1 aaeb09fd91 add me to WPD discord too 2022-06-07 12:55:50 +02:00
Aevann1 ecc121bf93 fix gigantic wholesome award size on mobile 2022-06-07 12:52:48 +02:00
Aevann1 4a98c2a639 don't whitelist fagmins 2022-06-07 12:34:46 +02:00
Aevann1 1bce1c273f no more 500 error 2022-06-07 12:32:48 +02:00
Aevann1 4a1e6cc726 a 500 error is much better than an XSS, bro 2022-06-07 12:03:51 +02:00
Snakes cb5f9d05c6 templates: Fix improper plurals, create helpers.
Previously, the three instances of 'Report[s]' and one instance of
'Coin[s]' in the UI templates were always pluralized, even when they
referred to a singular instance. This has been corrected by creating
a `plural` helper macro.

Additionally, this was used as impetus to create `utils/helpers.html`
to eventually move more recurring template logic into macros.
2022-06-07 05:26:22 -04:00
Aevann1 f966262b97 Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-06-07 11:18:12 +02:00
Aevann1 d761fc27cd Revert "Make CARP_ID's flair uneditable by others."
This reverts commit c2266985b7.
2022-06-07 11:18:09 +02:00
Snakes 70b96162a7 Fix banned domain info leak in modlog. 2022-06-06 22:18:56 -04:00
Snakes dece3fd460 Add user title coin cost parameter. 2022-06-06 19:02:23 -04:00
Aevann1 4aeb438c6b extend removal notifs from only me to all Lvl3 jannies 2022-06-06 07:50:38 +02:00
Aevann1 282f8d885c Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-06-06 07:42:21 +02:00
Aevann1 b2ec368a7e give me a better discord role 2022-06-06 07:42:19 +02:00
Snakes 7556fe8988 Add lottershe badge logic, badge helper. 2022-06-06 00:07:38 -04:00
Aevann1 43dbcadc6b add me into jannycord 2022-06-05 17:05:43 +02:00
Snakes 0e0a8d391b Amend 20b136909: string comparison bug.
Fixes logic which failed because user_id was a string which I
improperly treated as an integer for comparisons.
2022-06-04 23:58:03 -04:00
Snakes c2266985b7 Make CARP_ID's flair uneditable by others.
This is a kludge solution that sticks special case logic in places
it shouldn't be. However, community management demands necessitate it
quickly. Of the three ways to change a flair (customtitle), this
prevents using flairlocks and admin flair editing on the user with
CARP_ID. Only the user himself may change his flair through settings.
2022-06-04 23:34:44 -04:00
Snakes 5fb358a32a Add more TLDs to sanitize. 2022-06-03 17:01:32 -04:00
Snakes 998a8f462e Add links to orphan endpoints. 2022-06-03 06:29:35 -04:00
Snakes b306d113ad Lottery: Fix treasure adding coins to manager.
It was observed in prod that the lottery prize as tracked by the DB
had diverged from the amount held in the Lottershe manager account.
This appears to be the result of grant_lottery_tickets_to_user
adding the # of _tickets_ rather than the value of those tickets to
the manager.
2022-06-03 02:24:32 -04:00
Snakes 843ff51ace Make post rate limit site-specific. 2022-06-02 22:10:59 -04:00
Snakes 379ae664a3 Make PIN_LIMIT a per-site constant. 2022-06-02 19:45:33 -04:00
Snakes 6b9a133204 Kitchen sink commit, misc. content updates.
- Increment cache version on popover badges.
- Add comments+submission_listing.js to assetcache to support ^.
- Append new words to wordle list.
- Cache bust assorted assets for recent PRs.
2022-06-02 19:32:13 -04:00