aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/ui
Commit message (Collapse)AuthorAgeFilesLines
* chore(ci): setup semifold苏向夜2026-01-182-1916/+39
|
* feat(frontend): add instance editor modal with tabbed interfaceHsiangNianian2026-01-183-50/+464
| | | | | | | | | | | | | - Create InstanceEditorModal.svelte with 4 tabs: * Info: Instance name, notes, metadata (created date, last played) * Version: Mod loader switcher and version display * Files: File browser for mods/resourcepacks/shaderpacks/saves/screenshots * Settings: Memory override and JVM arguments customization - Wire InstanceEditorModal to InstancesView with Edit button - Add FileInfo type definition to types/index.ts - Fix accessibility issues: proper button roles, keyboard events - All TypeScript and Svelte compilation errors resolved - Enable comprehensive per-instance configuration management
* feat(frontend): add instance creation wizardHsiangNianian2026-01-182-41/+487
| | | | | | | | | | | | | | - Create multi-step InstanceCreationModal with version and mod loader selection - Step 1: Instance name input - Step 2: Minecraft version selection with search and filtering - Step 3: Mod loader choice (vanilla/Fabric/Forge) with version selection - Automatically installs vanilla version + mod loader during creation - Wire new modal to InstancesView, replace old simple creation dialog - Remove unused confirmCreate function This wizard integrates version management into instance creation workflow, streamlining the user experience by combining instance setup and version installation into a single guided process.
* feat(backend): enhance instance management for editor supportHsiangNianian2026-01-181-0/+7
| | | | | | | - Sync instance.version_id after start_game, install_fabric, install_forge - Add jvm_args_override and memory_override to Instance struct - Add file management commands: list_instance_directory, delete_instance_file, open_file_explorer - Support per-instance settings overrides (Java args, memory)
* feat(migration): implement shared cache migration with SHA1 dedupHsiangNianian2026-01-181-3/+28
| | | | | | | | - Add migrate_to_shared_caches() with hard link preference - SHA1-based deduplication across all instances - Copy fallback for cross-filesystem scenarios - Auto-enable use_shared_caches after successful migration - UI shows statistics: moved files, hardlinks/copies, MB saved
* fix(ci): improve pre-commit fmt hook configurationHsiangNianian2026-01-183-0/+143
| | | | | | - 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-182-11/+15
| | | | constructor
* fix: complete Instance/Profile System isolation and state managementHsiangNianian2026-01-182-2/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ## 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: add InstancesView component and integrate instance management into the UIHsiangNianian2026-01-166-5/+376
| | | | Introduced a new InstancesView component for managing game instances, allowing users to create, edit, delete, and duplicate instances. Updated the App.svelte to include the InstancesView and modified various components to ensure instance selection is handled correctly. Enhanced the ModLoaderSelector and VersionsView to check for active instances before performing actions. Updated the Sidebar to include navigation to the new InstancesView.
* feat: implement instance management functionalityHsiangNianian2026-01-163-3/+137
| | | | 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-165-83/+344
| | | | 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.
* chore: apply prek auto-fixes [skip ci]HsiangNianian2026-01-163-3/+2
|
* chore: add dev dependency for prek in pyproject.toml and uv.lockHsiangNianian2026-01-161-2/+7
| | | | Included the 'prek' package as a development dependency in both pyproject.toml and uv.lock, specifying version 0.2.28 to enhance development capabilities.
* chore: update @tauri-apps/plugin-dialog version in pnpm-lock.yamlHsiangNianian2026-01-161-5/+5
| | | | Bumped the version of @tauri-apps/plugin-dialog from 2.5.0 to 2.6.0 in pnpm-lock.yaml to align with the latest dependency updates.
* chore: update plugin-dialog dependency versions in Cargo.toml and package.jsonHsiangNianian2026-01-161-1/+1
| | | | Bumped the version of tauri-plugin-dialog in Cargo.toml and @tauri-apps/plugin-dialog in package.json from 2.5.0 to 2.6.0 to incorporate the latest features and improvements.
* feat: add prismjs dependency and update TypeScript configurationHsiangNianian2026-01-163-1/+41
| | | | Added the prismjs library for syntax highlighting and its corresponding type definitions. Updated the TypeScript configuration to use "bundler" for module resolution, enhancing compatibility with modern module systems. This update improves the development experience and supports better code presentation.
* feat: enhance settings view with AI assistant configuration optionsHsiangNianian2026-01-161-0/+386
| | | | Expanded the SettingsView component to include new features for managing the AI assistant, such as selecting language models, configuring response settings, and applying preset personas. Added a button to open the configuration editor for JSON settings. This update improves user interaction with the assistant and provides more control over its behavior and settings.
* feat: add assistant view and configuration editor componentsHsiangNianian2026-01-165-16/+853
| | | | Introduced a new AssistantView component for enhanced interaction with the AI assistant, allowing users to send messages and receive responses. Implemented a ConfigEditorModal for editing configuration files with JSON validation and history management. Updated the App component to integrate these new features, improving user experience and functionality in managing AI settings.
* 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-163-3/+199
| | | | 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-1615-299/+311
|
* chore: add UI linter workflow with oxlint and oxfmtNtskwK2026-01-162-1/+185
|
* chore(deps-dev): bump sveltedependabot[bot]2026-01-163-24/+24
| | | | | | | | | | | | | | | | | | | Bumps the npm_and_yarn group with 1 update in the /ui directory: [svelte](https://github.com/sveltejs/svelte/tree/HEAD/packages/svelte). Updates `svelte` from 5.46.3 to 5.46.4 - [Release notes](https://github.com/sveltejs/svelte/releases) - [Changelog](https://github.com/sveltejs/svelte/blob/main/packages/svelte/CHANGELOG.md) - [Commits](https://github.com/sveltejs/svelte/commits/svelte@5.46.4/packages/svelte) --- updated-dependencies: - dependency-name: svelte dependency-version: 5.46.4 dependency-type: direct:development dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com>
* chore(deps): bump devaluedependabot[bot]2026-01-152-20/+95
| | | | | | | | | | | | | | | | | | | Bumps the npm_and_yarn group with 1 update in the /ui directory: [devalue](https://github.com/sveltejs/devalue). Updates `devalue` from 5.6.1 to 5.6.2 - [Release notes](https://github.com/sveltejs/devalue/releases) - [Changelog](https://github.com/sveltejs/devalue/blob/main/CHANGELOG.md) - [Commits](https://github.com/sveltejs/devalue/compare/v5.6.1...v5.6.2) --- updated-dependencies: - dependency-name: devalue dependency-version: 5.6.2 dependency-type: indirect dependency-group: npm_and_yarn ... Signed-off-by: dependabot[bot] <support@github.com>
* chore(lint): fix code lint苏向夜2026-01-151-37/+37
|
* chore(vscode): move `.vscode` to project root苏向夜2026-01-152-40/+37
|
* feat: Add interactive Saturn effect controls in HomeView and enhance ↵HsiangNianian2026-01-153-5/+226
| | | | ParticleBackground for external mouse handling
* feat: Implement local version fetching and enhance version type detection to ↵HsiangNianian2026-01-152-0/+3
| | | | support modpacks in version management
* feat: Add functionality to list installed game versions in the application, ↵HsiangNianian2026-01-151-35/+113
| | | | enhancing version management and user experience in BottomBar
* feat: Enhance text formatting in HomeView by adding support for italicized ↵HsiangNianian2026-01-151-0/+1
| | | | text using single asterisks
* feat: Implement logout confirmation dialog and enhance account status ↵HsiangNianian2026-01-154-9/+97
| | | | display in BottomBar for improved user experience
* feat: Add version installation and check functionality to enhance mod loader ↵HsiangNianian2026-01-151-24/+125
| | | | support in the application
* feat: Implement custom dropdown components for version selection in ↵HsiangNianian2026-01-156-89/+443
| | | | BottomBar and ModLoaderSelector, enhancing user interaction and UI consistency
* refactor: Clean up imports and enhance GameConsole display with conditional ↵HsiangNianian2026-01-151-6/+8
| | | | rendering and improved styling
* style: Update select element styles in ModLoaderSelector for improved UI ↵HsiangNianian2026-01-151-2/+2
| | | | consistency and user interaction
* feat: Add debug and log upload settings to SettingsView for enhanced user ↵HsiangNianian2026-01-151-2/+45
| | | | control and customization
* feat: Enhance GameConsole with advanced log filtering, searching, and ↵HsiangNianian2026-01-151-85/+281
| | | | export/upload functionalities 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 log upload service options to LauncherConfig for improved logging ↵HsiangNianian2026-01-151-0/+2
| | | | flexibility
* feat: Add custom styles for select elements, dropdowns, and global ↵HsiangNianian2026-01-151-0/+117
| | | | scrollbars to enhance UI consistency and user experience
* chore: Add @tauri-apps/plugin-fs version 2.4.5 to package.json and update ↵HsiangNianian2026-01-152-0/+11
| | | | pnpm-lock.yaml
* fix: Enable host option in Vite configuration for improved development ↵HsiangNianian2026-01-151-0/+1
| | | | server accessibility
* fix: Clean up main.rs by removing unused imports and updating variable names ↵HsiangNianian2026-01-151-1/+1
| | | | for clarity; enhance HomeView.svelte by correcting emoji processing logic
* docs: Update README.md with enhanced feature descriptions, improved UI ↵HsiangNianian2026-01-151-1/+13
| | | | terminology, and added installation instructions; update image alt text for accessibility
* chore: Update package dependencies in package.json and lock files, adding ↵HsiangNianian2026-01-153-21/+92
| | | | lucide-svelte, marked, and node-emoji
* style: Update BottomBar component for improved UI and accessibility, ↵HsiangNianian2026-01-151-31/+23
| | | | including layout adjustments and icon integration
* feat: Enhance HomeView component with release loading, markdown parsing, and ↵HsiangNianian2026-01-151-29/+175
| | | | improved UI elements
* style: Refactor ModLoaderSelector component for enhanced UI and accessibilityHsiangNianian2026-01-151-51/+36
|