Skip to content

1.2.0: Major achievement tracking overhaul and sync improvements

Choose a tag to compare

@maroun2 maroun2 released this 13 Feb 21:41
· 24 commits to main since this release

Installation

Install via Decky Loader using this URL:

https://github.com/maroun2/steam-deck-game-tags/releases/download/1.2.0/game-progress-tracker-1.2.0.zip

Key Features

Achievement Fetching

  • Implemented unified achievement fetching with cache + API fallback
  • Discovered and fixed critical bug: Steam's GetMyAchievementsForApp requires STRING appid (not number)
  • Added smart achievement cache watcher with exponential backoff polling (500ms → 10s)
  • Achievements now fetch on-demand for ALL games (not just installed)
  • Automatic sync when viewing game's "Your Stuff" achievements tab

Sync Architecture

  • Completely refactored sync mechanism with unified core logic
  • Single-game and bulk library sync now use same code path
  • Simplified from ~700 lines to ~640 lines while adding functionality
  • Removed verbose debug logging, added clean production-ready logs
  • Full support for syncing all owned games (including uninstalled)

UI Improvements

  • Improved TagManager UI with side-by-side layout
  • Show HLTB main story time in header
  • Fixed modal positioning and header layout
  • Backend-driven notifications when tags are added during sync
  • Cleaned up duplicate UI elements

Bug Fixes

  • Fixed achievement percentage calculation
  • Fixed single-game sync missing game names
  • Improved HLTB search by sanitizing game names
  • Fixed HLTB retry for games without cached completion time
  • Get game names from frontend API for uninstalled games

Technical Details

  • 5-second timeout for achievement API calls
  • Cache-first approach with automatic API fallback
  • Works with Steam's internal APIs (no external dependencies)
  • Handles 800+ game libraries efficiently