π v1.2.0 β The "RetroAchievements" Update
RetroAchievements integration with hash verification, achievement tracking, and per-game progress β plus 1,209 tests.
Highlights
- RetroAchievements integration β Connect your RA account to track achievements, verify ROMs via hash matching, and view per-game progress directly in R-Shop.
- Achievements screen β Dedicated viewer with earned/locked badges, points, progress bar, mastery status, and full D-pad navigation.
- RA badges on game cards β Achievement count and match type (gold for name match, green for hash verified) displayed on every card; mastery outline when fully completed.
- Post-download hash verification β Downloaded ROMs are automatically hashed and matched against the RA database in the background.
Change Log
Added:
- RetroAchievements integration β connect your RA account to track achievements, verify ROMs via hash matching, and view per-game progress.
- Achievements screen β dedicated viewer with earned/locked badges, points, progress bar, mastery status, and full D-pad navigation.
- RA onboarding step β optional setup during first-run wizard with connection test and skip option.
- RA config screen β manage credentials (encrypted via SecureStorage) from Settings with connection testing.
- Post-download hash verification β downloaded ROMs are automatically hashed and matched against the RA database in the background.
- RA sync service β 3-phase background sync (catalog fetch β name matching β hash verification) with 24h freshness cache and cancellation support.
- RA badges on game cards β achievement count and match type (gold/green) on every card; mastery outline when fully completed.
- Add-to-queue toast β animated bottom-right notification when a game is added to the download queue.
- Hide empty consoles β new toggle in Settings β Preferences to hide systems with no games from the home screen.
Improved:
- Sync badge β now shows dual pills for library sync (cyan) and RA sync (gold) with independent progress tracking.
- Game detail screen β RA info section below metadata showing match status, progress bar, and "View Achievements" button; quick menu gains "Achievements" option.
- Download overlay β visual refinements and better state display.
- SystemModel β 15+ systems now carry RA console IDs (NES, SNES, N64, GB, GBC, GBA, Mega Drive, SMS, Game Gear, 32X, Atari 2600/7800, Lynx, NDS).
- Library screen β deduplication of installed entries when same game exists in multiple formats.
- Cover preload service β improved reliability and error handling.
Internal:
- Database schema v7 β new tables:
ra_games(catalog cache),ra_hashes(hash index),ra_matches(match results). - Hash computation for 10+ systems: simple MD5, NES (iNES header strip), SNES (copier header), NDS (multi-section), Lynx, Atari 7800.
RaNameMatcherwith 4-tier fallback: exact β contains β No-Intro filename β fuzzy (Levenshtein).- New providers:
raGameProgressProvider,raRefreshSignalProvider,raMatchResultProvider,raSyncServiceProvider. - 1,209 tests (up from 1,069) β new suites: RA hash service, RA models, RA name matcher, expanded database and onboarding tests.