Add CSST.at Extension - #207
Conversation
|
Read the source at the pinned commit 1. The toggle can end up disagreeing with what's actually stored.
I ran that logic verbatim with the backend write forced to return So on a failed write the switch sits where the user put it while the stored value is the old one, and the panel silently reverts next time it mounts. It needs a real write failure to surface, which is why it wouldn't show up in ordinary testing. Returning a boolean, or re-reading 2. The host check is a substring test on the whole URL.
3. The SteamID is neither validated nor encoded before it goes into a URL.
4. Nothing is cleaned up when the plugin is disabled. The anchor, the container div and 5. 6. Trivial. What I expected to break and didn't. I went in assuming
Tested on Steam Stable, plugin confirmed loaded in Disclosure: I have a submission open in this queue, also a CS-stats profile button, so weigh this accordingly. |
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
@MuhammedResulBilkil Fixed in v1.0.4 (4d68fb4). The same patch is applied to the five sibling plugins, which shared all of this code. (1) Toggle vs. stored value. (2) Host check. Replaced the substring test on (3) SteamID. Every resolution path — (6) $schema. Confirmed 404. Two I decided against, so they don't read as oversights: (4) Cleanup on disable. There's no hook I can use. The Lua (5) Reading the id from Since you checked the shipped bundle rather than just the source: both patterns are gone from the built Noted on the disclosure, and appreciated — the findings stood on their own. |
CSST.at
plugin that injects a csst.at profile button into Steam community profile pages
Hi @shdwmtr, fair point — the injection setup was a leftover from the period when webkit didn't reach the community browser, and it outlived its purpose. In v1.0.3 the plugin is now plain webkit-only: the CDP path, mode selector and status badge are removed, the backend uses the utils module (get_backend_path, read_file/write_file), there is no raw MILLENNIUM_API access, and the settings panel is a single native ToggleField. The frontend entry is now ~40 lines.
Task Checklist
Developer
Plugin Functionality
Backend Configuration
Community Contribution
Testing Instructions