| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
| |
- 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)
|
| |
|
|
|
|
|
|
| |
- 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
|
| |
|
|
|
|
| |
- Add pass_filenames: false to fmt hook
- Add -- separator for cargo fmt args
- Manually format code with cargo fmt
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Update parse_java_version() to properly handle:
- Build metadata (strip '+' and everything after)
- Trailing garbage (strip '-' and everything after, e.g. -Ubuntu)
- Underscore version separators (1.8.0_411 -> 1.8.0.411)
This ensures Java versions are correctly parsed on all platforms:
- Old format: 1.8.0_411 (Java 8 update 411)
- New format: 21.0.3+13-Ubuntu (Java 21 with build metadata)
- Short format: 17.0.1 (Java 17 update 1).
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Add find_root_version() function to walk the inheritance chain and find
the root vanilla Minecraft version from a modded version (Fabric/Forge).
This is useful for determining which vanilla version's client.jar should
be used when launching modded versions, as modded versions inherit from
vanilla versions but don't contain their own client.jar.
The function follows the inheritsFrom field recursively until reaching
a version without a parent (the root vanilla version).
|
| |
|
|
|
|
|
|
|
|
| |
Complete the rule_matches function to properly evaluate:
- OS name (already working: osx/macos, linux, windows)
- Architecture (arch field): match against env::consts::ARCH
- OS version (version field): accept all versions for now (conservative)
This ensures that architecture-specific libraries (e.g. natives-arm64)
are correctly filtered based on the current platform.
|
| |
|
|
|
|
|
|
|
|
| |
Replace Ordering::Relaxed with appropriate synchronization:
- Ordering::AcqRel for fetch_add operations that modify shared state
- Ordering::Acquire for loads that depend on other thread's writes
- Ordering::Release for stores that other threads may read
This ensures visibility of downloaded bytes and completed files across
concurrent download tasks without data races.
|
| |
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
Prevent race condition in duplicate_instance by copying the source
game directory BEFORE creating and saving the new instance metadata.
This ensures that if the copy fails, no orphaned metadata is created.
Also copy the icon_path from source instance to maintain visual consistency.
|
| |
|
|
|
|
|
|
|
|
| |
The fallback in the reqwest client builder was calling get_client()
recursively, which would cause a stack overflow if Client::builder()
failed. Now uses reqwest::Client::new() as the fallback.
Also fixed User-Agent to be platform-agnostic.
Reviewed-by: Claude Opus 4.5
|
| |
|
|
| |
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.
|
| |
|
|
|
|
| |
prefixes
Updated the Java installation and executable retrieval functions to resolve symlinks and strip UNC prefixes from paths. This improvement ensures cleaner and more reliable path handling on Windows systems, enhancing compatibility and usability.
|
| |
|
|
| |
Implemented a helper function to strip the UNC prefix from file paths on Windows, ensuring cleaner path handling. Updated the Java candidate retrieval process to resolve symlinks and apply the new prefix stripping function, enhancing compatibility and usability on Windows systems.
|
| |
|
|
| |
Enhanced the Java command execution by adding support for Windows-specific creation flags in both the installer and candidate checking functions. This change ensures better compatibility and performance when running Java commands on Windows systems.
|
| |
|
|
| |
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.
|
| |
|
|
| |
improving library management for better compatibility
|
| |
|
|
| |
support in the application
|
| |
|
|
| |
enhanced logging capabilities
|
| |
|
|
|
|
|
|
| |
- 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: SourceryAI <bot@sourcery.ai>
|
| |\
| |
| |
| |
| |
| |
| | |
- 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.
|
| | | |
|
| | |
| |
| |
| | |
support
|
| | |
| |
| |
| | |
support
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
installation functionality
|
| | | |
|
| | | |
|
| | |
| |
| |
| | |
MsRefreshTokenState
|
| | |
| |
| |
| | |
calls
|
| | |
| |
| | |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
| | |
| |
| | |
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
|
| | | |
|
| | | |
|
| | | |
|
| | | |
|
| | |
| |
| | |
Co-authored-by: Copilot <175728472+Copilot@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
|
| |
|
|
| |
Java detection functionality
|
| | |
|
| |
|
|
| |
and login UI
|
| |
|
|
| |
and auto-open functionality
|
| | |
|
| |
|
|
| |
refactor request handling
|
| |
|
|
| |
authentication and profile fetch
|