Skip to content

Latest commit

 

History

History
388 lines (297 loc) · 16.4 KB

File metadata and controls

388 lines (297 loc) · 16.4 KB

Changelog

All notable changes to Proton Pulse should be recorded here.

v1.10.0

  • Compat tool auto-update now runs at startup for both Proton-GE and CachyOS Proton, throttled to once per 24h
  • Advanced Settings shows compat tool auto-update status with full timestamps and next check time
  • Per-report analysis modal: score pill and What's this button are now horizontally aligned; EXCELLENT tier label sits below
  • Reset Filters button added to the report filter row
  • GPU architecture shown under GPU tier in report details
  • Log viewer inline preview fills the full available space
  • Filters modal has a single Close button
  • Confidence badge in Manage This Game header now matches the Analysis tab

v1.9.0

  • Replace filter dropdowns with Filters modal button

v1.7.5

  • Fix "vDeveloper" label on Settings > Updates page across all locales
  • Move version-prefix formatting to call sites so translators stay dumb
  • Add vDeveloperGuard test that fails if any locale re-prefixes raw labels

v1.7.4

  • Use full /proton-pulse/ route paths in sidebar (1.7.4)
  • Hidden focusable in loading state so gamepad input stays captured
  • I18n: enforce strict 100% coverage; localize 2 remaining brand strings
  • I18n: translate 61 new extras keys across all 28 languages (>= 99.7%)

v1.7.3

  • Sync README + translation coverage metrics for 90% floor
  • Check-translations: lower MIN_COVERAGE 95 -> 90 (tracked in #83)
  • I18n: wire 71 hardcoded UI strings to extras tree, seed 9 enforced langs
  • Release: -pre-release tag suffix + edit notes before any commits
  • Sync release-derived files for 1.7.3

v1.7.2

  • fix(updater): pre-release channel now finds the newest actual pre-release entry instead of the newest release overall, preventing false "downgrade" suggestions when the latest overall release is a stable build

v1.7.1

  • fix(game-page-badge): useLayoutEffect dedup eliminates duplicate hero badges from secondary React fiber instances
  • fix(library-grid-badges): skip tile scan when game details page is open (appDetailsClasses.InnerContainer detection) -- prevents lib badges bleeding onto game page
  • fix(library-grid-badges): filter library_hero and library_header URLs from tile scan
  • fix(library-grid-badges): minimal badge sized to match Steam Deck Verified badge circles (15px SVG + 4px padding)
  • feat(i18n): full translations for badge style settings across all 19 locales

v1.7.0

  • feat: show ProtonDB tier badges on library grid tiles (home page and installed/all games views)
  • feat: game page and library grid badges each have a three-way style selector -- Full (PLATINUM/GOLD/...), Compact (PLAT/GOLD/...), Minimal (atom icon in tier color only), or Off
  • feat: game page badge uses 3-ring atom icon matching the Proton Pulse brand mark
  • feat: Native Linux badge shown on game page when platform_list includes Linux (EAppPlatform 16)
  • feat: non-Steam shortcuts show source badge (Heroic, Epic, GOG, Lutris, Bottles, itch.io) and resolve ProtonDB tier from matched Steam store ID
  • feat: QAM menu icon updated to 3-ring atom variant
  • fix: persist ProtonDB summary to localStorage cache after network fetch so badges survive restarts and offline sessions
  • fix(game-page-badge): useLayoutEffect dedup hides secondary React fiber badge instances before paint -- keeps lowest-on-screen badge as primary
  • fix(library-grid-badges): skip scan when game details page is open (detected via appDetailsClasses.InnerContainer in BPM DOM) -- prevents tile scanner from stamping lib badges onto game page capsule images
  • fix(library-grid-badges): filter library_hero and library_header image URLs from tile scan to prevent hero artwork matching grid tile selectors
  • fix(updater): use sudo -n to restart plugin_loader service (root flag does not grant passwordless systemctl)

v1.6.8

  • fix(updater): use sudo -n to restart plugin_loader service (root flag does not grant passwordless systemctl)

v1.6.7

  • fix(updater): restart plugin_loader service after update so backend picks up new version
  • fix(updater): triggerReload now calls restart_plugin_loader callable before falling back to Steam restart

v1.6.6

  • fix: force sidebar focus on plugin open so D-pad can navigate tabs in SJC (quick-access) context
  • fix: show clearer error when self-update callable is unavailable on old installs
  • fix(updater): progress bar in Settings tab instead of toast during update install

v1.5.0

  • feat(about): built-in self-updater with progress bar for non-store installs
    • Check for Updates button on About tab queries GitHub Releases API
    • Downloads release ZIP in a background thread via curl with live progress (bytes, %, ETA) matching the Proton-GE installer style
    • Extraction overwrites the plugin directory in place
    • Reload Plugin button attempts Decky hot-reload first, falls back to Steam restart
    • Full translations for all 19 supported locales
  • docs: README Updating the Plugin section

v1.4.4

  • Release notes were autogenerated during release preparation.
  • Decky Loader release submission.

v1.4.3

  • feat(settings): configurable cloud sync refresh rate (default 1 min)
  • fix(manage): offline toast never shown -- refreshCloud swallowed error
  • fix(manage): improve offline toast to say "Device offline -- sync unavailable"
  • fix(manage): fix refresh button width

v1.4.2

  • fix(manage): show "Local only" badge instead of "Not synced" when cloud is unreachable
  • fix(manage): refresh sync status every 30s while on Manage Configurations tab
  • fix(manage): add manual refresh button with toast feedback

v1.4.1

  • fix(schema): add Proton 10.0-1 through 10.0-4 to knownProtonVersions

v1.2.1

  • Release notes were autogenerated during release preparation.
  • Decky Loader release submission.

v1.2.0

  • NativePulseReportModal: fullscreen layout, auto-scroll with focus advance through all questions
  • NativePulseReportModal: live rating badge pinned in header, summary field removed
  • NativePulseReportModal: proton type/version prefill from tracked config and Steam compat tool property
  • ManageTab: duplicate report guard with ConfirmModal before overwriting
  • ManageTab: fetch Steam forced compat tool via getCompatToolForApp for proton version prefill
  • EditReportModal: scroll timeout fix (200ms -> 300ms)
  • ScoringGuideModal: new modal explaining how compatibility scores are calculated
  • i18n: new translation keys for all added UI strings

v1.4.0

  • feat(playtime): event-based game detection via RegisterForAppLifetimeNotifications with poll fallback
  • feat(playtime): config-specific playtime weighted 1.25x in getEffectivePlaytimeMinutes
  • feat(manage): Active (yes/no) row in config info modal, color-coded green/amber
  • feat(manage): Playtime (this config) row in info modal
  • feat(manage): Apply option in context menu for quick config reapply
  • fix(playtime): getTrackedConfigs import missing caused poll fallback errors
  • fix(playtime): poll no longer falsely ends session when event listener is active

v1.3.0

  • feat(scoring): playtime confidence bonus -- reports with >= 2h playtime rank higher (underOneHour=+3, oneToFourHours=+6, fourToTenHours=+9, overTenHours=+12)

v1.2.2

  • fix(log): correct WARN to WARNING log level in NativePulseReportModal
  • fix(i18n): translate common.confirm and configManager.cloudRestoreConfirm for all 18 languages
  • fix(playtime): async getSteamPlaytimeForeverMinutes with RegisterForAppDetails fallback and GetAppOverviewByGameID source
  • chore(deploy): y/n prompt for PR push, detect existing PR title/author, clean fork sync

Unreleased

v1.7.2 pre-release

  • Bump to 1.7.2 -- updater pre-release channel fix

v1.7.1 pre-release

  • Pre-release channel finds newest actual pre-release, not newest overall release
  • Set VERSION to 1.7.1
  • Bump to 1.7.1 for pre-release -- badge dedup and lib grid fixes
  • Game page and library grid ProtonDB tier badges (v1.7.0)
  • Use image URL to detect portrait vs wide tiles
  • Add library grid ProtonDB tier badges with persistent cache
  • Sync release-derived files for 1.6.8
  • Sync version metadata

v1.6.8 pre-release

  • Bump version to 1.6.8 for pre-release

v1.6.7 pre-release

  • Restart plugin_loader service so backend reloads after update

v1.6.6 pre-release

  • Sync release-derived files for 1.6.6

v1.6.5 pre-release

  • Restart plugin button: clickable reload after update installed

v1.6.3 pre-release

  • Reset check result when switching update channel
  • Updater: show restart message instead of force-reloading
  • Enable root flag for self-update, use backend apply_update
  • Restore toaster import in AboutTab, remove mise hardcoding from Makefile

v1.6.1 pre-release

  • Sync release-derived files for 1.6.1

v1.0.0

  • Release notes were autogenerated during release preparation.
  • Decky Loader release submission.

v1.0.0 pre-release

  • Add Demo to translation skip values (universal gaming term)
  • Demo detection, double-B exit opt-in, B routing fix, and 1.0.0 polish
  • Derive plugin dir from DECK_USER instead of hardcoding /home/deck

v0.9.11

  • Release notes were autogenerated during release preparation.
  • Decky Loader release submission.

v0.9.10

  • Improve Python coverage 94% -> 98%
  • Version bump
  • Add Termux and Windows OS version badges to coverage-badges workflow
  • Rename Autobuild workflow to Ubuntu Build
  • Remove redundant platform name column from build table
  • Achieve 100% translation coverage across all 19 languages
  • I18n: fill translation gaps for all 34 missing keys across 18 languages
  • Suppress @decky/ui DialogButton and TextField prop type gaps
  • Remove store page badge, shrink not-in-library to inline pill
  • Fix VDF parser nested map desync and show dual badges
  • Wire store page badge and search hint into plugin lifecycle
  • Disable all report action buttons for non-library games
  • Add Y-button hint on search results and store page badge
  • Add top-level image field to plugin.json for Decky store submission
  • Add OS version badges and update coverage metrics
  • Resolve non-Steam shortcuts to Steam store app ID for reports
  • Replace Bazzite workflow with fedora:latest to auto-track stable releases
  • Use standalone pnpm and uv installers to avoid OSTree /usr/local symlink issue
  • Use crane export to import Bazzite as single-layer image
  • Free runner disk space before vfs pull to avoid ENOSPC
  • Pull and squash real Bazzite image to bypass layer limit
  • Switch to fedora:41 to fix max depth exceeded layer error
  • Add published/draft badge, info modal, and restore-overwrite behavior
  • Add game filter and consolidate action buttons on one row
  • Add right-side focus highlight and left-align hint text
  • Increase live log height
  • Use eType:40 to silence toast sound when setting is off
  • Update tests for toast sound toggle and backfill translation coverage
  • Add toast sound toggle to general settings
  • Update test to match _get_library_info fallback free-space behavior
  • Restore: recover full repo after accidental filter-repo wipe

v0.9.8

  • Release notes were autogenerated during release preparation.
  • Decky Loader release submission.

v0.9.4

  • Remove unused template backend and defaults folders
  • Decky Loader release submission.

v0.9.1

  • Changelog gen fixes
  • Adjust release/pre-release mechanisms
  • Decky Loader release submission.

v0.9.1 pre-release

  • Toast already linked when generating link code
  • Fix hardware upload and add CEF debug toggle
  • Document optional Proton Pulse account linking
  • Document Node 24 dev workflow
  • Decky Loader pre-release submission.
  • Fix settings action row navigation
  • Run plugin CI on Node 24
  • Regenerate changelog from release commit history
  • Upload hardware through linked install function
  • Delete cloud configs with plugin reports
  • Sync cloud-owned reports and close upload modal
  • Document CEF screenshot limits for external pages
  • Avoid reopening link request when already linked
  • Tighten settings account and hardware actions
  • Add CEF capture tooling and debugging docs
  • Fix Deck remote dev bootstrap and CEF debug setup
  • Move remote dev bootstrap into a script
  • Bootstrap remote Deck dev helpers over SSH
  • Bust Deck browser cache for plugin linking page
  • Open the dedicated plugin linking page from Decky
  • Add installation proof to plugin linking
  • Migrate hardware uploads to Proton Pulse ownership
  • Add Proton Pulse account linking flow to Decky
  • Polish report source details and config filters
  • Stop deriving plugin identity from Steam account names
  • Translations and tests backfill
  • One last fallback issue for local install
  • Local fallback on reload
  • Local fallback for reload
  • Generate smarter default label for uploaded systems
  • Refresh README and metrics snapshots
  • Wire cloud-push subscriber + surface sync state everywhere
  • Tighten protondb_systeminfo GPU and OS detection
  • Add three-stage clipboard fallback with logging
  • Prefill config editor from current Steam launch options
  • Relax Pulse report modal validation
  • Resolve Steam ID from multiple client sources
  • Accept named Proton branches in validator regex
  • Auto-fill duration bucket from steam lifetime playtime
  • Pre-fill launch options and auto-duration from Manage tab report modal
  • Point CDN and profile links at www.proton-pulse.com
  • Add Publish to Pulse button with auto-duration and 40-char notes gate
  • Log my hardware upload clicks and outcomes
  • Update gitignore
  • Translate my hardware strings for all 9 locales
  • Task7: add My Hardware section with view, upload, and profile buttons
  • Task6: add i18n strings for My Hardware settings and modal
  • Task5: add MyHardwareModal for viewing and copying system info
  • Task4: add uploadSystem with two-step upsert to preserve web edits
  • Task3: generate label from os and gpu in sysinfo blob
  • Task2: add device id and steam id helpers for hardware sync
  • Task1: add user_systems table migration and apply helper
  • Windows build work
  • Windows toolchain build
  • Add Windows hardware detection via PowerShell and WMIC fallback
  • Preserve original source when saving edited config so ProtonDB (edited) label shows correctly
  • Toggle vote off on re-click (delete row from Supabase)
  • Add Pulse native compatibility tier badge
  • Show report ID top-right in detail modal header for Supabase reports
  • Add Pulse report count badge from proton-pulse-data
  • Pushed code doe release ok

v0.8.8

  • feat: add scoring-info.json and form-schema.json as shared build artifacts
  • feat: add knownProtonVersions to shared form-schema.json
  • feat: add owner-delete for Supabase reports via x-client-id RLS policy
  • feat: add 'web' as valid source for website report submissions
  • feat: capture and store isNonSteam flag on config apply
  • fix: hardware capture not syncing to site
  • refactor: use distro prefix patterns for validOs instead of exact versions
  • i18n: add translations for upload preview UI strings across all locales
  • ci: upgrade to Node.js 24 for GitHub Actions runners

v0.8.2

  • feat: polish report detail and install progress UX

v0.5.0

  • autogen changelog
  • update makefile
  • update tag
  • test: tighten coverage gates and local dev flows
  • handle local service reloads
  • fix: handle decky dir root folders
  • fix: avoid timestamp for metrics when there are no changes
  • fix: ensure decky loader is installed, handle bazzite install
  • feat: add other distro autobuilds
  • ci: add reusable distro builds and coverage reporting
  • test coverage

v0.3.0

v0.4.0

  • Add coverage badges and refine custom toggle workflow

  • Improve config editing, backups, and contributor docs

  • translation updates

  • Create CODE_OF_CONDUCT.md

  • Align makefile help

  • fix: Fix Wukong report fallback, complete translations, and preserve modal screenshots

  • simplify makefile

  • Update README.md

  • Add tool disclaimer to readme

  • fix: screenshot flow, compat tools reinstall, and nav regressions

  • fix: Fix Wukong report fallback, complete translations, and preserve modal screenshots

  • simplify makefile

  • Update README.md

  • Add tool disclaimer to readme

  • fix: screenshot flow, compat tools reinstall, and nav regressions

v0.2.0

  • Added a dedicated log viewer modal with compact actions and cleaner full-screen layout.
  • Fixed the Proton Pulse exit flow so it no longer gets stuck in a blank-screen loop.
  • Added user controls to disable Proton Pulse toast notifications and sounds.
  • Improved settings and cache-area controller navigation so the footer is reachable without visual filler.
  • Moved release versioning to a single VERSION source of truth that syncs into build metadata.
  • Tightened plugin docs and wiki setup notes, including Supabase voting documentation and release workflow updates.

v0.1.0

  • Initial public pre-release.