We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
docs: move web deploy content to proton-pulse-web wiki, add cross-reference
docs: add branch/issue workflow rules to Web Deploy Workflow
docs: add Web Deploy Workflow page, link from Home
docs: replace scoring detail with pointer to proton-pulse-web wiki
docs: add JS module API reference generated from JSDoc
docs: update webui references for proton-pulse-web rename
docs: document moderator vs super_admin roles and enforcement
docs: add Content Moderation page
docs: add FAQ page covering ProtonDB comparison, report ownership, hardware scoring, privacy
Architecture: correct shared-scoring paths to src/lib/gameStats/ Phase 2 of the per-game Analysis tab landed the synced module under src/lib/gameStats/ (not src/lib/scoring/, which already exists for the per-report scoring engine). Update the wiki section to match the real directory + add a note about the .d.ts ambient declaration trick used to keep tsc warning-free without typing the synced JS file directly.
Architecture: document shared lib/scoring module + plugin sync flow Phase 1 of the per-game Analysis tab work (plugin task #68) moved the per-game stats engine into proton-pulse-data/lib/scoring/. Add a new section under src/lib/scoring.ts that describes: - where the canonical source lives (webui repo) - how the plugin syncs it via make sync-scoring - the sha256 staleness check in CI - the public API surface so contributors know what to import
Decky-UI-Learnings: SidebarNavigation route values must be full paths Add a section documenting the v1.7.4 bug + fix: bare tab names like 'system-requirements' as SidebarNavigation route values cause Steam to push /routes/<tab-name> URLs, kicking the user off our /proton-pulse route to blank screens (or worse, /routes/settings = Steam Settings). The fix is to use full subpaths of our registered route (eg. /proton-pulse/system-requirements), mirroring Decky Loader's own settings sidebar pattern. React Router 5 prefix-matches so the URL push lands but our component stays mounted. Covers symptom detection, the boundary converter pattern, and a reference to where Decky Loader does the same thing.
document developer update channel and make github-dev-release
docs: add libraryGridBadges patch to Architecture table
document self-update root flag and alternatives evaluated
Add Design Palette wiki page
data-pipeline: mark probe-backfill issue resolved + document workflow fix
data-pipeline: document pulse merge step + source field contract
docs: add modal archetypes, scroll patterns, focus glow, auto-scroll learnings
docs(scoring): document canonical algorithm location, deriveRating, and Pulse penalty
docs: document store page badge architecture and STORE_URL screenshot workflow
docs: add subtle row focus indicator pattern
docs: document Decky toast sound muting via eType workaround
chore: update screenshots