Track and surface partial modpack download failures across core and frontend. Adds a PartialModpackInstall error and counts failed/attempted downloads in the mrpack flow, returning an error if some files failed. Frontend download pipeline now runs parallel downloads that return per-item results, reports/logs failures, and exposes retry/continue UI in onboarding.
Backend robustness improvements: deduplicate concurrent package inserts by reusing existing row on unique-hash constraint, detect hard-link collisions and verify hashes before skipping or erroring, and return meaningful errors when partial installs occur.
Other changes: propagate richer error context when stamping migrated cluster created_at, invalidate relevant queries after migration, make settings writes awaitable and update the query cache optimistically, add queryClient usage in version-migration hook, and various type/bindings updates to reflect the new PartialModpackInstall error. These changes improve reliability and UX during batch package installs and onboarding downloads.
Implement cluster content migration and local versions override. Adds a new IPC API (copy_cluster_content) and CopyClusterResult, plus copy_dir_all helper to recursively copy files. Introduces migrate_non_bundle_packages and migrate_bundles_to_cluster to map and install provider-managed packages for the target MC version and to translate/copy bundle overrides; files without a compatible provider version are copied as .disabled and returned to the caller. Prefer a local versions_override.json when loading the online manifest (useful for testing) and adapt MC version parsing/formatting for year-based majors. Frontend: update generated bindings/types, add MigrationModal UI and useVersionMigration hook, integrate the migration modal into the root and debug screens, and persist seen_versions in settings. Misc: propagate manifest/versions into several UI routes and adjust bundle/package handling accordingly.
* fix: tauri os plugin not being fully loaded
* feat: debug keybind
Bound to `CTRL+SHIFT+D` (and `ALT+F12`) and copies the debug info to the
clipboard
* refactor: __root.tx
Clean up a lot of code and move them into there own files
* feat: os distro in debug
* refactor: get_full_debug_info_parsed
* feat: made by info in settings
Also made it so that you can click on it to copy debug info
* fix: warning in oneclient/desktop/lib.rs
* refactor: copyDebugInfo
Moved it to the backend to later be used
* feat: log out debug info when oneclient launches
* `inDev` -> `In Dev`
* feat: toggle debug logging
* fix rust compiler
Introduce full bundle update management: adds bundle_updates module with checking, apply flow, per-cluster locking, subscription inference, and apply helpers for additions/updates/removals (plus unit and e2e test scaffold). Exposes new IPC/API methods (download_package_from_bundle, update_bundle_packages, is_bundle_syncing) and integrates bundle tracking in desktop commands. Adds bundle DAO/entity and migrations to support bundle_packages and bundle_overrides, updates related package/DAO/modpack code, and minor frontend bindings/components/hooks to surface the new functionality. Also adds sea-orm as a dev-dependency for the desktop crate.
Co-Authored-By: Jacob <contact@kath.lol>
commit 9d138882dec56d9f823a22dd2284b0f264a6b35a
Author: Wyvest <wyvestbusiness@gmail.com>
Date: Mon Feb 23 17:14:58 2026 -0500
Watch cluster dirs, toggle & custom-bundle support
Enable filesystem watches and add support for directory-based packages, toggleable packages, and custom bundles.
Highlights:
- Enable tauri-plugin-fs "watch" feature and add fs:allow-watch capability.
- Frontend: add useAllClusterDirWatch hook to watch cluster folders and call bindings.core.syncCluster on changes; add useCustomBundle to synthesize a "[Custom]" bundle for installed-but-unbundled packages and surface it in mods/datapacks/resource-packs/shaders routes via ModList/ModCard changes.
- ModCard/ModList: introduce toggle mode (useToggleMode) to treat some bundles as toggleable; implement UI toggle behavior and skip interactivity for directory-based bundles.
- Bindings: expose syncCluster and togglePackage in bindings.gen for IPC usage.
- Backend: extend sync_cluster to detect directories, register directory-based packages as local, and reconcile/unlink DB links for files removed from disk; support removing directories when unlinking packages.
- Backend API: add toggle_package to rename package files (.disabled toggling), update central store path, and return the new enabled state; add Tauri commands for sync_cluster and toggle_package.
Reason: allow resourcepacks/shaders/datapacks stored as directories to be recognized as local packages, provide automatic sync on filesystem changes, and let users enable/disable packages by toggling their filenames.
commit 1b100f7ed2242d21f3fbb6229745cddbd3199db7
Merge: 4ea4216 6a2352c
Author: Wyvest <wyvestbusiness@gmail.com>
Date: Mon Feb 23 06:30:25 2026 -0500
Merge branch 'oneclient/main' into bruhhh
commit 4ea42169ad430bc8b127f829c528c258f49b5a3a
Author: Wyvest <wyvestbusiness@gmail.com>
Date: Wed Dec 31 03:48:13 2025 +0900
Fix external mod tracking
commit cb456f4f6d50165d05091ae65c9611ebf956df07
Merge: 8628380 18c37f8
Author: Wyvest <wyvestbusiness@gmail.com>
Date: Wed Dec 31 01:48:00 2025 +0900
Merge branch 'oneclient/main' into bruhhh
commit 86283800ab265361540f4cf20e9a843cb2c4f5f0
Author: Wyvest <wyvestbusiness@gmail.com>
Date: Sun Dec 28 18:19:57 2025 +0900
h