Fix vanilla instance creation issue by implementing proper mod loader profile management - #18
Conversation
Co-authored-by: tristanpoland <34868944+tristanpoland@users.noreply.github.com>
…nd improved asset download progress Co-authored-by: tristanpoland <34868944+tristanpoland@users.noreply.github.com>
Co-authored-by: tristanpoland <34868944+tristanpoland@users.noreply.github.com>
Updated frontend and backend to use a unified 'request' object for modpack installation, renaming fields for consistency. Added validation for required fields in the Rust backend. Adjusted modpack search results mapping to ensure 'project_id' is present on frontend objects.
Moved libium from external git dependency to a local path, adding its source files, README, and changelog. Updated Cargo.toml and Cargo.lock to reflect new dependency sources and versions, including switching ferinth and furse to custom git repositories and adjusting reqwest and hyper-tls versions. Introduced clap as a direct dependency.
|
@copilot we have an issue where we never actually install the mods into the instance folder we need to ensure |
…and modpacks Co-authored-by: tristanpoland <34868944+tristanpoland@users.noreply.github.com>
I've implemented a comprehensive mod loader installation system that addresses the issue you identified. The problem was that ChaiLauncher was creating vanilla instances even when installing modpacks because it wasn't actually installing the underlying mod loaders (Fabric, Forge, etc.). Key Changes (commit 77174ba):New Mod Loader Installation System:
Enhanced Instance Creation:
Improved Modpack Installation:
The |
|
@copilot The instance is still just entirely vanilla still look into the code deeply to understand how each install type works and fix it all |
…ofiles Co-authored-by: tristanpoland <34868944+tristanpoland@users.noreply.github.com>
Co-authored-by: tristanpoland <34868944+tristanpoland@users.noreply.github.com>
I've identified and fixed the core issue causing vanilla instances. The problem was that mod loader installation was creating profiles but instances were still using vanilla version identifiers. Root Cause Fixed (commit e6983e9):Profile Management:
Modpack Installation Enhanced:
Diagnostic Tools Added:
The instances should now be properly modded with working mod loaders. For existing instances, you can use the diagnostic commands to identify and fix any that are still incorrectly marked as vanilla. Warning Firewall rules blocked me from connecting to one or more addresses (expand for details)I tried to connect to the following addresses, but was blocked by firewall rules:
If you need me to access, download, or install something from one of these locations, you can either:
|
Added Clone derives to StorageManager and LauncherConfig to allow cloning. Updated fix_vanilla_instances to clone storage_manager before retrieving instances, resolving borrow conflicts.
Added serde renames to struct fields in mod.rs for better compatibility with CurseForge API responses. Updated modpacks.rs to conditionally include the searchFilter parameter and use page_size for API requests, improving search behavior when the query is empty. Enhanced logging for raw and parsed search responses.
Replaces native button elements with the custom Button component across multiple views for consistent styling and behavior. Adds framer-motion animations to loading indicators, modals, progress bars, and empty states for smoother UI transitions. Updates SettingsView to handle large background image files and truncates long paths for performance. Refactors server status refresh logic for better reliability and memoization. Improves ModpackBrowser and InstancesView with animated controls and error handling. Updates hooks for more robust dependency management and form state handling.
InstanceCard now supports a 'list' view mode with adjusted icon and layout sizes. InstanceList passes viewMode to InstanceCard. Modal component is refactored to use AnimatePresence for smoother transitions and improved accessibility. Also, several CurseForge API structs in Rust are made public and some fields are updated to Option types for better compatibility. Minor fixes to modpacks.rs for query handling and parameter naming.
…/ChaiLauncher into copilot/fix-16-2
This PR addresses the critical issue where ChaiLauncher was creating vanilla instances instead of properly modded ones when installing modpacks or creating modded instances. The root cause was that the system created mod loader profiles but instances still used vanilla version identifiers when launching.
Problem
When users installed modpacks or created modded instances, ChaiLauncher would:
fabric-loader-0.15.7-1.20.1)1.20.1)Solution
Fixed Profile Management
install_mod_loader()now returns the created profile name instead of voidEnhanced Modpack Installation
Improved Launch Detection
launch_instancecommand now reads from storage to get actual instance metadatais_modded: falsethat was overriding correct detectionAdded Diagnostic Tools
diagnose_instancescommand to analyze instance status and identify issuesfix_vanilla_instancescommand to automatically repair incorrectly marked instancesBefore vs After
Before: Instance uses version
"1.20.1"→ Launcher loads vanilla profile → Mods don't workAfter: Instance uses version
"fabric-loader-0.15.7-1.20.1"→ Launcher loads modded profile → Mods work correctlyThis ensures that modpacks and modded instances are truly functional with working mod loaders, not just directory structures with vanilla profiles.
✨ Let Copilot coding agent set things up for you — coding agent works faster and does higher quality work when set up for your repo.