aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui/src/stores
Commit message (Collapse)AuthorAgeFilesLines
* fix(ci): improve pre-commit fmt hook configurationHsiangNianian2026-01-181-0/+9
| | | | | | - Add pass_filenames: false to fmt hook - Add -- separator for cargo fmt args - Manually format code with cargo fmt
* refactor: move version refresh logic to App.svelte and clean up GameState ↵HsiangNianian2026-01-181-11/+6
| | | | constructor
* fix: complete Instance/Profile System isolation and state managementHsiangNianian2026-01-181-1/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## Overview Fixed critical multi-instance isolation bugs where versions, mod loaders, and instance state were not properly isolated between instances. These changes ensure full data isolation and consistent instance metadata. ## Bug Fixes - P0 (Critical Isolation Issues) ### 1. Backend: get_versions() command isolation - Problem: Used global app_data_dir instead of instance-specific game_dir - Fix: Added instance_id parameter, now queries instance.game_dir - Impact: Versions are now properly isolated per instance ### 2. Frontend: delete_version missing instanceId - Problem: Frontend passed only versionId, not instanceId - Fix: Updated VersionsView.svelte to pass instanceId parameter - Impact: Version deletion now targets correct instance ### 3. Frontend: get_version_metadata missing instanceId - Problem: Metadata queries didn't specify which instance to check - Fix: Updated VersionsView.svelte to pass instanceId parameter - Impact: Version info displayed per-instance correctly ### 4. Frontend: Instance switching doesn't refresh versions - Problem: Switching instances didn't reload version list - Fix: Added $effect hook in GameState to watch activeInstanceId changes - Impact: Version list auto-refreshes on instance switch ## Bug Fixes - P1 (State Synchronization) ### 5. Backend: install_fabric doesn't update Instance.mod_loader - Problem: Instance.mod_loader field wasn't updated after installation - Fix: Added instance_state.update_instance() call - Impact: Instance metadata stays in sync ### 6. Backend: install_forge doesn't update Instance.mod_loader - Problem: Instance.mod_loader field wasn't updated after installation - Fix: Added instance_state.update_instance() call - Impact: Instance metadata stays in sync ### 7. Backend: delete_version doesn't clean up Instance state - Problem: Deleting version didn't clear Instance.version_id or .mod_loader - Fix: Added cleanup logic to clear stale references - Impact: Instance state remains valid after deletion ## Testing - Added comprehensive integration tests in instance_isolation_tests.rs - Tests document 10 key scenarios for multi-instance isolation - All code compiles cleanly with no errors
* style: auto format and lint fix [skip ci]HsiangNianian2026-01-161-1/+6
|
* feat: implement instance management functionalityHsiangNianian2026-01-162-2/+121
| | | | Added a new InstancesState class to manage game instances, including loading, creating, deleting, updating, and duplicating instances. Integrated instance selection into the game launch process, ensuring an active instance is selected before starting a game. Updated the types to include instance-related data structures.
* feat: enhance Java version management for Minecraft versionsHsiangNianian2026-01-161-4/+2
| | | | Added functionality to determine and validate the required Java version for Minecraft versions, including checks for compatibility with older versions. Implemented event emissions for version installation and deletion, and updated the UI to reflect Java version requirements and installation status. Improved version metadata handling and added support for deleting versions.
* feat: enhance settings state with AI model management and configuration editorHsiangNianian2026-01-161-0/+167
| | | | Added functionality for managing AI model settings, including loading and selecting models from Ollama and OpenAI. Implemented a configuration editor for raw settings, allowing users to open, edit, and save configuration files. This update improves the assistant's integration and user experience by providing more control over AI model options and settings management.
* feat: implement assistant state management and messaging functionalityHsiangNianian2026-01-162-2/+172
| | | | Added a new module for managing the assistant's state, including message handling, health checks, and streaming responses. Introduced interfaces for message structure and generation statistics. Enhanced the logs state by removing unnecessary listener setup during initialization. Updated the types to include assistant configuration options.
* style: auto format and lint fix [skip ci]HsiangNianian2026-01-164-76/+90
|
* feat: Implement logout confirmation dialog and enhance account status ↵HsiangNianian2026-01-151-3/+51
| | | | display in BottomBar for improved user experience
* feat: Implement logging system with game log parsing and event listeners for ↵HsiangNianian2026-01-151-0/+139
| | | | enhanced log management
* feat: Add custom background path handling and reactive URL conversion in ↵HsiangNianian2026-01-151-0/+21
| | | | SettingsState for enhanced user customization
* feat: Add ReleasesState class to manage GitHub releases and implement ↵HsiangNianian2026-01-152-0/+40
| | | | loading logic
* feat(java): Implement Java catalog management and download featuresBegonia, HE2026-01-151-26/+268
| | | | | | | | - Added commands to fetch and refresh the Java catalog, cancel downloads, and manage pending downloads. - Enhanced the Java download modal in the UI to support version selection, download progress, and pending downloads. - Introduced new types for Java catalog, download progress, and pending downloads. - Updated settings store to handle Java catalog state, download progress, and pending downloads. - Improved user experience with loading states, error handling, and status notifications for Java installations.
* chore: fix import order in settings storeBegonia, HE2026-01-141-1/+1
|
* feat: re-integrate Java download UI into new component architectureBegonia, HE2026-01-141-1/+62
| | | | | | | | - Add Java download functionality to settings store - Add JavaDownloadInfo type definition - Add Download Java button and modal to SettingsView - Support JRE/JDK selection with version picker - Maintain integration with Adoptium API backend
* feat: enhance dark mode support across UI componentsHsiangNianian2026-01-141-0/+6
| | | | | | | | - Updated BottomBar, HomeView, LoginModal, ModLoaderSelector, SettingsView, Sidebar, StatusToast, and VersionsView components for improved dark mode styling. - Adjusted color schemes for various elements to ensure better visibility and aesthetics in dark mode. - Added a theme property to settings to enforce dark mode as the default. - Refactored version badges in VersionsView for better color differentiation. - Enhanced button and input styles for consistency in both light and dark themes.
* feat: Enhance UI components and add visual effectsHsiangNianian2026-01-141-0/+3
| | | | | | | | | - Updated Sidebar component styles for improved aesthetics and usability. - Refactored VersionsView component with a new layout and enhanced version filtering. - Improved DownloadMonitor and GameConsole components for better performance and visual consistency. - Added new settings for GPU acceleration and visual effects in settings store. - Introduced ParticleBackground component with customizable effects (Constellation and Saturn). - Implemented ConstellationEffect and SaturnEffect classes for dynamic background animations.
* Revert "feat: add functionality to retrieve installed game versions"简律纯2026-01-141-28/+4
|
* Merge pull request #16 from NtskwK/feat/enabled-version简律纯2026-01-141-4/+28
|\
* | feat: add download settings for concurrent download threadsHsiangNianian2026-01-141-0/+1
| |
| * fix: ensure selectedVersion is reset when no installed versions are foundNatsuu2026-01-141-0/+2
| |
| * feat: add functionality to retrieve installed game versionsNatsuu2026-01-141-4/+26
|/
* chore: add ReturnType type hint简律纯2026-01-141-2/+2
| | | Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* fix: avoid any/object process简律纯2026-01-141-4/+2
| | | Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
* refactor: specify generic type for invoke calls in GameState classNatsuu2026-01-141-3/+3
|
* refactor: enhance UIState class by adding type for currentView and updating ↵Natsuu2026-01-141-14/+12
| | | | setView method
* chore: specify type for pollInterval in AuthState classNatsuu2026-01-141-1/+1
|
* chore: improve loadSettings method for better result handlingNatsuu2026-01-141-1/+4
|
* refactor: split App.svelte into componentsNatsuu2026-01-144-0/+279