v0.9.4-beta
Pre-release๐ v0.9.4 Beta โ The "Command Center" Update
Note: This is a major architectural release. It transforms R-Shop from a simple downloader into a professional-grade management hub for Android-based retro handhelds. You might need to reinstall the app for all things to load properly!
โจ Highlights
๐ฅ๏ธ RomM Command Center
A radically redesigned configuration screen. You can now monitor which console is linked to which server and synchronize credentials with a single click. No more "silent" auth failuresโfull transparency across all systems.
๐ Global Search (Y-Button)
Search across all your connected systems simultaneously from the Home screen. Includes region flags, tag badges, and smooth gamepad navigation.
๐ก๏ธ Hardened Security & Stability
Critical fixes for Zip-Slip and Path-Traversal vulnerabilities. We've also implemented Atomic Config Saves to ensure your settings are never corrupted during a crash.
๐ Change Log
โ Added
- Global Search Activated ๐ | Cross-system search with region flags and tag badges.
- Local-Only Mode ๐ | Consoles without a provider now show locally scanned ROMs with a banner hint.
- FTP Download Progress ๐ | Real-time per-chunk progress reporting.
- Inactivity Watchdog ๐ | 60-second stall detection with clear user error messages.
- Gamepad Key Fix ๐ฎ | Intercepts mismatched logical keys for specific drivers (e.g., AYN Thor).
- Provider Type Badges ๐ท๏ธ | Visual indicators on version cards (
RomM,SMB,FTP,WEB). - Sectioned Download Overlay ๐ฅ | Organized lists (Downloading / Queued / Complete) with ID-stable focus.
๐ง Improved
- Settings Rework | Focus-aware glow borders and full D-pad navigation.
- Safe Reset | "Reset App" moved to HUD (X-button) to prevent accidental wipes.
- UI Polish | Compressed platform icons (-70% size) and context-sensitive empty states.
- Network Resilience | Strict timeouts (15s-30s) on all provider calls to prevent app hangs.
- Input Refinement | Shortcuts now ignore repeats to prevent accidental double-triggers.
๐ก๏ธ Security & Bug Fixes
- Zip Slip & Path Traversal | Validated canonical paths and enforced safe basenames.
- Atomic Writes | Config is written to
.tmpbefore renaming to prevent corruption. - Race Conditions | Fixed Database initialization and AudioManager re-init loops.
- Memory Hygiene | Resolved timer and connection leaks (Dio, FTP, Retry timers).
- Focus Guards | Fixed focus "leaks" in search and download overlays.
๐ ๏ธ Technical Internal
- Database Migration: Schema v3 adds
provider_configcolumn support. - Immutability:
DownloadItemis now fully immutable for predictable state management. - Controller Guards: Added disposed-guards to prevent memory-related crashes.
Full Changelog: v0.9.3-beta...v0.9.4-beta