Add CS Weekly Drop Reset - #175
Conversation
|
Read the source at the pinned commit 1. Russian pluralisation is wrong across most of the countdown's range.
Stepping one second at a time through a full week, the tooltip carries at least one incorrect Russian form for 80.0 % of the week (483768 / 604800 seconds). A real sample three days out:
2. The error boundary sits one level below the code it's protecting.
Related: the 3. The tile mounts twice on the CS2 page. Two visible cards, 144×48 each, at viewport 4.
5. 6. The card opens a third-party site in the system browser with no opt-out. 7. Trivial. On the always-on polling, which I'd flagged from the source and then measured. Things I checked expecting trouble and found none. Teardown on route change is clean: leaving Tested on Steam Stable, plugin confirmed loaded in Disclosure: I have a plugin submission open in this queue. |
thank you for the review, i will get to work and fix all |
Thanks for the thorough review , the measured pluralization numbers and the live double-mount evidence made
On the polling: deliberately kept. I agree it's more machinery than strictly needed, but your own 12s profile showed All of this was verified live on Steam Stable (mount on /library/app/730: exactly one on-screen tile; navigate away: Thanks again, especially for proving nextReset correct over 26,304 samples; that saved me defending code you'd |
CS Weekly Drop Reset
A plugin that adds a live countdown to the next Counter-Strike weekly drop reset, right on the Counter-Strike 2 page in your Steam library. It mounts a native-looking tile into the play bar's stats row, so it blends in with Steam's own UI.
Features
Intl.PluralRules(e.g. Russian's three grammatical forms).Drop reset schedule
Counter-Strike weekly drops reset every Wednesday at 01:00 UTC. The tile shows the remaining time as
Dd HH:MM:SS(the day count is omitted in the final 24 hours); the tooltip shows the next reset in your local time.How it works
Steam's library keeps cached page trees stacked in the DOM, so neither the URL nor simple rect checks reveal which app's page is displayed. The plugin reads the real route (
/library/app/730) from the window's browser manager and mounts a React tile into the one stats section that passes anelementFromPointhit test — the page tree actually on screen. Navigation is tracked viahistoryhooks,popstate/hashchange, a debouncedMutationObserver, and a 1-second polling fallback. Tiles are unmounted cleanly when you leave the CS2 page.Task Checklist
Developer
Plugin Functionality
Backend Configuration
useBackend: false— it is frontend-only.)Community Contribution
Testing Instructions