Per-system sync, configurable timeouts, and cover search fix — thanks to @yangeric for the feature ideas and bug reports.
Highlights
- Per-system sync — Sync individual consoles from Settings instead of being forced to sync everything at once.
- ROM counts per platform — Each console tile now shows its game count directly in Settings.
- Configurable sync timeout — Choose between 1, 2, 5, or 10 minutes for slow connections (Synology NAS etc.).
- Cover search fix — Running "Search Game Covers" twice no longer causes the progress bar to exceed 100%.
Change Log
Added:
- Per-system sync button on each console tile in Settings (#7)
- ROM count badges per system in Settings (#7)
- Sync timeout setting (1m / 2m / 5m / 10m) passed through to all providers (#7)
gameCountsPerSystemProviderfor stable post-sync ROM counts (#6)
Fixed:
- Cover search progress exceeding 100% on consecutive runs — generation-based cancellation ensures clean state (thanks @yangeric! #8)
- DB cascade deletes — removing games now also cleans up orphaned
game_metadataandra_matchesrows - Background refresh orphan safety —
saveGamesorphan deletion is now explicit to prevent incomplete fetches from wiping cached games
Internal:
LibrarySyncService.syncSystem()for single-system syncCoverPreloadService._generationcounter for stale-worker protection- 78 new tests (1615 total)
Thanks to @yangeric for the detailed reports and feature suggestions — the screenshots and NAS context really help me prioritize the right things. 🎮