Commit Graph

15203 Commits (69dec16f5505cd4be936c3b75af007f3933026a6)

Author SHA1 Message Date
Snakes 69dec16f55 Shop badge discount: fix Spender, add Roller disc.
The shop discount from Big Spender badges was incorrectly implemented:
intended behavior was for 2pp per badge. However, the values in
const.py were set as if a user could only have one Spender badge at
once, while user.py @ discount was implemented as if they were
additive. Since users factually do have multiple big spender badges,
the values in const were adjusted to reflect this fact.

Also, lootbox Roller badges now each offer a 1pp discount.
users.py @ discount was improved to check against the `discounts`
keys for appropriate badges, rather than a hardcoded list.
2022-05-19 13:41:04 -04:00
Snakes 0608e0ce9d Media folder: create, add birthgay, move crab. 2022-05-19 13:09:19 -04:00
Snakes 289a00c302 Lootboxes: remove notification to Carp. 2022-05-18 17:33:40 -04:00
Snakes 38680fd38c Fix user popovers failing from early bs_trigger.
Very strange bug, and I hope this fixes it. User popovers, e.g. on
comments pages when names are clicked, spontaneously stopped working
on my local instance. This parallels occasional reports from others
that their popovers stop working for seemingly no reason.

The primary symptom appeared to be in comments+submission_listing.js
@ popclick(...), which became unable to find any `.popover` elements
in the document, resulting in a console error. Running `bs_trigger(
document)` manually in console after page load always fixed this.
As such, I am assuming this is (hopefully) a timing bug from the
bs_trigger call in header.js running before document ready. The call
now runs on a standard document ready callback boilerplate.
May God have mercy on our souls if this doesn't fix it.
I discovered that running `bs_trigger(document)`
2022-05-18 01:46:14 -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
Snakes b51ab09b27 Lootboxes: re-enable for birthgay, improve.
Re-enable lootboxes in const.py, and update their contents in
awards.py. Additionally, improve appearance in shop.

Upon purchasing a lootbox, users now receive a message informing
them of the contents thereof.

Lootbox backend now properly uses CARP_ID (and checks for the
existence thereof correctly).

Also, minor changes to how const.py whitelists awards.
2022-05-17 22:10:04 -04:00
Snakes 8d6e542eaf Fix shop MBux button wrapping to two lines. 2022-05-17 22:07:07 -04:00
Snakes f9bfb6ddc6 Update birthgay award descs, ricardo price. 2022-05-17 20:04:16 -04:00
Snakes 67bd2abfd3 Fix ricardo error spam when 0 < n_ricardo < 3.
When ricardo.js was included on a page with ≥1 ricardo but <3
ricardos, the ricardo2 and ricardo3 handlers attempted to modify
non-existent DOM objects. There is now a non-null check before doing
so. Non-null check on ricardo1 isn't strictly necessary; however,
it has been added in case the inclusion of ricardo.js ever is not
conditional on a serverside ricardo quantity check.
2022-05-17 19:30:15 -04:00
Snakes 28e99956c3 Re-enable mobile multi-Ricardo.
By direct request of Carp. Additional testing with a variety of
simulated mobile screen sizes suggests it may not be too overly
crowded.
2022-05-17 19:21:16 -04:00
gooseman d06c893b66 Update awards.css (#263) 2022-05-16 19:08:07 +02:00
geese-suck 70c61904d9 multi ricardo action 2022-05-10 13:19:55 -04:00
geese 507d4929f7 brasil #1 2022-05-08 13:37:30 -04:00
geese 02928305ed aaa 2022-05-04 21:29:59 -04:00
Aevann1 47d01ed00b vb 2022-05-03 04:15:35 +02:00
Aevann1 65b3a5d375 fsd 2022-05-03 03:39:20 +02:00
Aevann1 4abc9a7497 gfd 2022-05-03 03:38:13 +02:00
Aevann1 96ea758ed9 sfd 2022-05-03 03:37:51 +02:00
Aevann1 5c042e5884 fdMerge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-03 00:14:07 +00:00
Aevann1 7b834f2831 fd 2022-05-03 02:13:57 +02:00
Aevann1 a08a1fc743 sneed 2022-05-03 00:00:02 +00:00
Nekobit 94edc2ce52 Fix emojis on freakish browsers & fix buttons (#240)
thx u nekobit
2022-05-02 19:54:10 -04:00
Aevann1 5640b784a1 Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-02 23:30:06 +02:00
Aevann1 df9585017c dsa 2022-05-02 23:30:03 +02:00
Aevann1 1728f65eac fgMerge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-02 21:13:44 +00:00
Aevann1 317a8cd175 sneed 2022-05-02 21:00:01 +00:00
Aevann1 ee0310dd9c Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-02 22:02:24 +02:00
Aevann1 bb33eaf54b sfd 2022-05-02 22:02:22 +02:00
TLSM 8eb86b965c Partially revert self-upvote UI bug fix. (#239)
Turns out the snippet in templates/comments.html was necessary to
get proper behavior in notifications.

Might come back to debug this later, but people use notifications more
than they deal with edge case self-upvotes, so reverting for now.

The changes to prevent coin fuckery with self-upvoting appear to work
correctly in the wild, so leaving those in place.
2022-05-02 21:42:28 +02:00
Aevann1 18509b653a dfg 2022-05-02 21:39:18 +02:00
gooseman 54709f4acf fix table thing for carp 2022-05-02 15:36:43 -04:00
Aevann1 a6f6e64246 fhg 2022-05-02 21:32:15 +02:00
Aevann1 a8b74fe328 Merge branch 'frost' of https://github.com/Aevann1/Drama into frost 2022-05-02 21:30:15 +02:00
Aevann1 df90e71f20 fsd 2022-05-02 21:30:12 +02:00
carpathianflorist e051ac8b8b Update journoid_banner.html 2022-05-02 15:13:10 -04:00
Aevann1 cd78de4d0b sdf 2022-05-02 21:11:03 +02:00
Aevann1 93ab0a1365 dfg 2022-05-02 21:10:49 +02:00
Aevann1 8b24faf9fd sdf 2022-05-02 20:56:10 +02:00
Aevann1 f9a142a889 sfd 2022-05-02 20:54:53 +02:00
Aevann1 dbe0bf076e tre 2022-05-02 20:50:43 +02:00
TLSM 63d344c2d0 Add badge quantity and rarity to /badges. (#238)
Implements feature request to know how many of each badge exists and
to have a 'rarity', a la Steam or PSN badges, relative to number of
non-lurker users.

Because Postgres `COUNT()`s are notoriously costly, /badges has been
memoized for 1hr to avoid a DOS target.
2022-05-02 20:14:06 +02:00
TLSM 020fe6033c Update journoid banner entries. (#237)
Fix Business Insider URL: was duplicate of LoTT Mashable link.
Add Glenn Beck Program mention.
2022-05-02 20:13:07 +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 60481a175b sfd\ 2022-05-02 20:07:17 +02:00
Aevann1 5eb6491e25 fgd\ 2022-05-02 07:06:43 +02:00
Aevann1 4d7e79bef3 6yutg 2022-05-02 04:11:01 +02:00
Aevann1 c636f08732 sdgf 2022-05-02 04:00:14 +02:00
Aevann1 5a7d019cdd sfd 2022-05-02 03:54:07 +02:00
Aevann1 9eeb214a24 fsd 2022-05-02 03:45:22 +02:00
Aevann1 ccfbbba09a fsd 2022-05-02 03:42:59 +02:00