| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
## 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
|
| |
|
|
|
|
|
|
|
| |
Check if the Microsoft account token is expired before attempting to
launch the game. If expired, attempt to refresh using the refresh_token.
If refresh fails, return an error instructing the user to login again.
Also removed #[allow(dead_code)] from is_token_expired since it's
now actively used.
|
| |
|
|
|
|
|
| |
The Forge installer may or may not create the version.json file
depending on the installer version. Check if the file exists after
running the installer before manually creating it to avoid overwriting
any installer-generated configuration.
|
| |
|
|
| |
Added functionality for managing game instances, including creating, deleting, updating, and duplicating instances. Integrated instance selection into the game launch process, allowing users to specify the instance when starting a game. Updated the main application logic to handle instance states and paths, ensuring proper directory management for each instance. Introduced a new module for instance management and updated relevant commands to support instance-specific operations.
|
| |
|
|
| |
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.
|
| |\ |
|
| | |
| |
| |
| | |
Modified the logging statement in the start_game function to display all Java arguments instead of just the first ten, improving debugging capabilities.
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Add normalize_java_path utility function with Windows-specific handling
- Automatically append .exe extension when missing on Windows
- Use 'where' command to locate java.exe in PATH if not found
- Improve error messages with full path display for debugging
- Apply path normalization in both start_game and install_forge commands
This fixes the "Failed to launch java: program not found" error on Windows
by properly handling Java executable paths, including relative paths,
missing extensions, and PATH resolution.
Reviewed-by: Claude Sonnet 4.5
|
| |
|
|
| |
Implemented new commands for managing the AI assistant, including health checks, chat interactions, and model listings for both Ollama and OpenAI. Enhanced the configuration system to support raw JSON editing and added a dedicated AssistantConfig structure for better management of assistant settings. This update significantly improves the user experience by providing comprehensive control over AI interactions and configurations.
|
| |
|
|
|
| |
logging of sensitive information
Co-authored-by: Copilot Autofix powered by AI <62310815+github-advanced-security[bot]@users.noreply.github.com>
|
| |
|
|
| |
improving library management for better compatibility
|
| |
|
|
| |
support modpacks in version management
|
| |
|
|
| |
enhancing version management and user experience in BottomBar
|
| |
|
|
| |
support in the application
|
| |
|
|
| |
length validation and support for Pastebin and paste.rs services
|
| |
|
|
| |
for clarity; enhance HomeView.svelte by correcting emoji processing logic
|
| |
|
|
| |
release data
|
| |
|
|
|
|
|
|
| |
- 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.
|
| | |
|
| | |
|
| |
|
| |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
| | |
|
| |\
| |
| |
| |
| |
| |
| | |
- Integrate latest main branch changes (Fabric, Forge support, new UI)
- Keep Adoptium Java download feature with SHA256 support
- Merge improved download progress tracking with checksum verification
- Update dependencies and build configuration
|
| | |
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
| | |
| |
| |
| |
| |
| |
| |
| |
| | |
- 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.
|
| | | |
|
| | |
| |
| |
| | |
and Forge commands
|
| | |
| |
| |
| | |
Co-authored-by: HsiangNianian <44714368+HsiangNianian@users.noreply.github.com>
|
| | |
| |
| |
| | |
Co-authored-by: HsiangNianian <44714368+HsiangNianian@users.noreply.github.com>
|
| | | |
|
| | |
| |
| |
| | |
MsRefreshTokenState
|
| | |
| |
| |
| | |
calls
|
| | | |
|
| | |\ |
|
| | | | |
|
| | | |
| | |
| | | |
Co-authored-by: sourcery-ai[bot] <58596630+sourcery-ai[bot]@users.noreply.github.com>
|
| | | | |
|
| | |/ |
|
| |/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add automatic Java (Temurin) download and installation feature:
- Add Adoptium API v3 integration to fetch latest Java releases
- Support JRE and JDK image types with version selection (8/11/17/21)
- Implement platform detection for macOS, Linux, and Windows
- Add SHA256 checksum verification for downloaded archives
- Add tar.gz extraction support with Unix permission preservation
- Handle macOS-specific Java path structure (Contents/Home/bin)
- Add frontend UI with version selector and download progress
- Register Tauri commands: fetch_adoptium_java, download_adoptium_java,
fetch_available_java_versions
Dependencies added: sha2, flate2, tar, dirs
|
| |
|
|
| |
display launcher logs
|
| | |
|
| |
|
|
| |
Java detection functionality
|
| | |
|
| | |
|
| | |
|
| |
|
|
| |
execution
|
| | |
|
| | |
|
| |
|
|
|
|
| |
- Added `is_library_allowed` function to evaluate library permissions based on defined rules.
- Introduced `rule_matches` helper function to check OS compatibility for rules.
- Created `extract_zip` function to handle zip file extraction, including directory creation and skipping of META-INF entries.
|
| |
|
|
| |
management
|