- Implemented cloud sync for game saves, allowing users to sync saves between devices.
- Added UI components for managing sync status and toggling sync for individual emulators.
- Enhanced SaveManagerPage to display sync status and enable/disable sync for emulator save directories.
- Introduced new types for Syncthing folders and updated relevant components to handle cloud sync data.
- Updated SettingsPage to reflect new beta features related to cloud sync.
- Added new styles for sync-related badges in styles.css.
- Introduced decompilation support with a new decomps module, including installation and management of decomp projects.
- Added support for various decompilation projects with GitHub integration for downloading and installing.
- Updated release notes for version 0.3.0 to include new features and bug fixes.
- Added Syncthing related types and interfaces in shared/types.ts
- Implemented Syncthing management functions in main/syncthing.ts including install, start, stop, and device/folder management.
- Created a new ErrorBoundary component for better error handling in the renderer.
- Developed CloudSyncPage component to manage cloud sync setup, installation, and device pairing.
- Enhanced settings to include cloud sync options in AppSettings.
- Added new save management functionality including listing, deleting, and backing up emulator saves.
- Introduced `EmulatorSaves` and `SaveEntry` types to manage save data structure.
- Created `saveManager.ts` to handle save file operations and directory scanning.
- Developed `SaveManagerPage` component for user interface to view and manage saves by game or emulator.
- Updated global types to include save management methods in the renderer.
- Removed obsolete `types.d.ts` and its source map.
- Added `searchCoverSGDB` API method to preload and scraper for fetching cover art from SteamGridDB.
- Implemented `CoverPickerModal` component for selecting cover art with search functionality.
- Updated settings to include SteamGridDB API key.
- Enhanced game detail modal to allow changing and resetting cover art.
- Improved gamepad navigation and sidebar layout for better user experience.
- Introduced new themes: Midnight, Ember, Lavender, and Jade.
- Added support for experimental emulators (ES-DE, NeoStation, Pegasus) behind a beta toggle in settings.
- Implemented manual installation prompts for ES-DE and NeoStation on macOS.
- Updated user agent to v0.1.3 across various modules.
- Enhanced the Emulators page with conditional install buttons for beta emulators.
- Introduced a new settings section for enabling/disabling beta features.
- Updated release notes for v0.2.0 detailing new features and improvements.
- Added project specification document for OmniEmu 2.0.
- Refactored built-in presets in configurator.ts to improve organization and added new configurations for various emulators.
- Implemented caching for scraped cover URLs in scraper.ts and added functionality to apply cached covers to game entries.
- Updated IPC handlers in ipc.ts to support caching of cover URLs.
- Enhanced gamepad navigation in useGamepadNav.ts for better user experience with controller inputs.
- Improved controller detection and button labeling in ControllerPage.tsx to support PlayStation, Xbox, and Switch controllers.
- Added accessibility features to game cards in Dashboard.tsx and LibraryPage.tsx for keyboard navigation.
- Introduced a new presets.json file with recommended configurations for various emulators.
- Updated styles.css to enhance focus visibility for keyboard and controller navigation.
- Implemented BIOS scanning and configuration functionality.
- Added support for managing recent games and scraping game art.
- Introduced a new Controller page for configuring gamepad settings.
- Enhanced the Dashboard to display recent games and quick actions.
- Updated the Emulators page to include launch and uninstall options.
- Improved the Settings page to manage BIOS directory and configurations.
- Added a gamepad navigation hook for better controller support.
- Refactored styles to accommodate new UI components and features.
- Implement IPC handlers for system info, emulator management, ROM scanning, and settings.
- Create platform utilities to retrieve system information.
- Develop preload script to expose API to renderer process.
- Establish settings management with file read/write capabilities.
- Build main application layout with React, including sidebar navigation and multiple pages (Dashboard, Emulators, Library, Settings).
- Design and implement styles for a cohesive user interface.
- Add type definitions for shared data structures between main and renderer processes.
- Configure TypeScript and Vite for building the application.