Commit graph

755 commits

Author SHA1 Message Date
LynithDev
6e2516e547 chore: ignore weird java awt natives loading 2026-09-06 00:14:11 +02:00
LynithDev
f8f6ef8f07 Revert "fix: stop rejecting java installations over an awt probe"
This reverts commit 22edf1e9dac3051a6d3641b07c5aad1030571e1c.
2026-09-06 00:14:11 +02:00
LynithDev
3dddbb433e fix: debug page resetting onboarding state 2026-09-06 00:14:11 +02:00
Julian Chang
7780a8900c perf: optimize mod toggling (#791) 2026-09-06 00:14:11 +02:00
Maciek
0217a54518 fix: verify and repair missing natives (#797) 2026-09-06 00:14:11 +02:00
Maciek
612cd9e2a8 fix: fixed hidden mods being enabled on every launch (#794) 2026-09-06 00:13:57 +02:00
LynithDev
ca43e56455 fix: allow both path forms in allowed_symlinks.txt 2026-09-06 00:13:57 +02:00
LynithDev
09073319b1 fix: stop rejecting java installations over an awt probe 2026-09-06 00:13:57 +02:00
LynithDev
84d1cf558c perf: extract archives off the caller's executor 2026-09-06 00:13:57 +02:00
Maciek
ea7b1bc922 fix: browser markdown (#768) 2026-09-06 00:13:57 +02:00
Maciek
b697efce1a feat: added an option for starting the launcher maximized (#750) 2026-09-06 00:13:57 +02:00
Maciek
6ef57bffe2 chore: sorted cluster settings (#775) 2026-09-06 00:13:57 +02:00
Maciek
acd2c1d183 feat: shortcuts (#773) 2026-09-06 00:13:57 +02:00
Maciek
86f3049564 feat: local mods support (#748) 2026-09-06 00:12:16 +02:00
Maciek
ba60ce4d32 feat: added checking for bundle updates on game launch (#778) 2026-09-06 00:12:16 +02:00
Maciek
2cc280bbb0 feat: added an opt-in flow for bundle mods shipped disabled (#737) 2026-09-06 00:12:16 +02:00
Maciek
90fb354857 feat: resource packs and shaders quiet reload (#752) 2026-09-06 00:12:16 +02:00
Julian Chang
72a9b63f24 feat: lower the default memory on lower memory machines (#783) 2026-09-06 00:12:16 +02:00
Julian Chang
86145c7180 feat: prefer the dedicated gpu on windows (#792) 2026-09-06 00:12:16 +02:00
Maciek
e40c0185c4 chore: added dedicated gpu flags (#725) 2026-09-06 00:12:16 +02:00
Maciek
2c43aa16ba feat: added a don't show again option to the update prompt (#723) 2026-09-06 00:12:16 +02:00
Maciek
4aaf974f04 feat: added New/Updated badges to cluster package lists (#734) 2026-09-06 00:12:16 +02:00
Maciek
159e1c7e96 feat: added context menu inside the screenshot viewer (#744) 2026-09-06 00:05:16 +02:00
Maciek
2a36bb8a88 feat: added context menu on homepage clusters (#743) 2026-09-06 00:05:16 +02:00
Maciek
f55a86a024 feat: added a picker for the amount of columns in a row (#784) 2026-09-06 00:05:16 +02:00
Maciek
12783fe59a feat: added MB4/MB5 and Esc navigation globally (#742) 2026-09-06 00:04:57 +02:00
Julian Chang
b2c2289853 fix: stop a stray console window opening on windows (#770) 2026-09-06 00:04:49 +02:00
Julian Chang
0251456b11
Merge branch 'main' of https://github.com/Polyfrost/OneLauncher 2026-09-03 02:22:26 -04:00
Julian Chang
a104c4979a
chore: drop duplicate crate-local sqlx cache 2026-09-02 21:27:39 -04:00
Maciek
fb33693f7d
feat: launcher data folder (#767)
* feat: added disk choice on fresh install

* feat: added protection for corrupted/deleted settings.json

* feat: added migration to another drive for already existing users; changed the default directories

* feat: relocation screen

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-02 14:07:20 +02:00
Maciek
25651d0cbc
fix: stray java runtime tmps and version files (#724)
* feat: added removal of .tmp files on launcher start after 10 minutes of being untouched; added removal of java runtime files whenever user deletes java runtime inside java settings (before they were only being deleted from the database, not files)

* feat: added modal for removing java runtimes

---------

Co-authored-by: LynithDev <61880709+LynithDev@users.noreply.github.com>
2026-09-02 13:03:16 +02:00
Julian Chang
b25ff12ab5
feat: delete mods from dead bundles (#746) 2026-09-01 14:03:13 +02:00
Maciek
606a15905d
feat: added ability to decline TOS (#751)
* feat: added ability to decline TOS; added blockades for hosts while TOS is declined

* fix: allowed datastorage-v2, meta.polyfrost.org and status.polyfrost.org

* chore: changed typography

* chore: changed TOS decline warning to a modal
2026-09-01 11:31:47 +02:00
a2ca929e0a fix(skins): calculate exact Minecraft Java UUID character slot for targeted skin injection
Some checks are pending
Release Multiplatform Binaries / build (deb,appimage, linux-x86_64, ubuntu-22.04, x86_64-unknown-linux-gnu) (push) Waiting to run
Release Multiplatform Binaries / build (dmg,app, macos-arm64, macos-14, aarch64-apple-darwin) (push) Waiting to run
Release Multiplatform Binaries / build (dmg,app, macos-x86_64, macos-14, x86_64-apple-darwin) (push) Waiting to run
Release Multiplatform Binaries / build (nsis, windows-x86_64, windows-latest, x86_64-pc-windows-msvc) (push) Waiting to run
Release Multiplatform Binaries / create-release (push) Blocked by required conditions
2026-08-30 18:19:18 +05:30
1f979f5717 fix: resolve mods filter text overlap and ensure 100% reliable skin loading across all MC versions 2026-08-30 17:42:54 +05:30
d1f5a715b8 fix(skins): target player specific UUID default character to prevent multiplayer cloning, bump to 2.2.3-c2 2026-08-30 16:54:51 +05:30
f84fec2c35 feat(updater): implement direct GitHub Releases auto-updater with cracked revision support (2.2.3-c1) 2026-08-30 14:43:16 +05:30
05dac19dd2 feat(skins): directly replace default textures in client jar, add zip resource pack, and fix options.txt formatting
Some checks are pending
Release Multiplatform Binaries / build (deb,appimage, linux-x86_64, ubuntu-22.04, x86_64-unknown-linux-gnu) (push) Waiting to run
Release Multiplatform Binaries / build (dmg,app, macos-arm64, macos-14, aarch64-apple-darwin) (push) Waiting to run
Release Multiplatform Binaries / build (dmg,app, macos-x86_64, macos-14, x86_64-apple-darwin) (push) Waiting to run
Release Multiplatform Binaries / build (nsis, windows-x86_64, windows-latest, x86_64-pc-windows-msvc) (push) Waiting to run
Release Multiplatform Binaries / create-release (push) Blocked by required conditions
2026-08-30 13:17:09 +05:30
a3a3d74fd6 refactor: polish codebase, clean clippy lints, and ensure test suite passes 2026-08-30 09:22:58 +05:30
cea98e9923 fix: browser-to-settings transition crash & full in-game skin asset coverage
- Fix crash when transitioning from Browse to Settings:
  * Prevent UI thrashing by executing router settle in use_side_effect rather than during render
  * Add PartialEq/Eq to BrowserUiState and use use_side_effect_with_deps in Browser component
- Fix in-game skin loading across all Minecraft versions:
  * Modern Minecraft (1.19.3 - 1.21.x) default player skin resolution covers all 9 character models (Steve, Alex, Ari, Efe, Kai, Makena, Noor, Sunny, Zuri) for both wide and slim model paths
  * Legacy Minecraft (1.8 - 1.19.2) entity texture paths (textures/entity/steve.png, alex.png)
  * Multi-mod directory synchronization: CustomSkinLoader, OfflineSkins, cachedImages for cluster game dir and shared .minecraft
  * Safe options.txt patching supporting both resourcePacks and incompatibleResourcePacks list formats
2026-08-29 23:30:02 +05:30
de9416573a refactor: replace authlib-injector with zero-overhead resource pack skin injection
Remove the entire skin_server.rs module and authlib-injector approach (HTTP server,
JVM agent, jar download). Replace with a dead-simple resource pack strategy:

- inject_skin_resource_pack() in launch.rs:
  * On every launch, if the player has a saved skin, writes it to
    resourcepacks/onelauncher_skin/assets/minecraft/textures/entity/player/wide/steve.png
    and .../slim/alex.png (both variants so it always matches)
  * Writes a pack.mcmeta with supported_formats 1-9999 covering all MC versions
  * Patches options.txt to add/keep 'file/onelauncher_skin' in the resourcePacks list
  * If no custom skin is saved, cleans up the pack dir and removes the options.txt entry
- patch_resource_packs_option() handles safe idempotent read-modify-write of options.txt
- Remove skin_server module from game/mod.rs
- Remove authlib_injector_path() from paths.rs
- Revert jvm_args to immutable (no longer needs push)

No extra dependencies, no background threads, no network requests.
2026-08-29 20:11:47 +05:30
52c29c034e feat: in-game offline skin support via authlib-injector + local skin server
- Add packages/oneclient_core/src/game/skin_server.rs:
  * Local Tokio TCP skin server that serves a minimal Yggdrasil-compatible API
  * Responds to GET /, GET /session/minecraft/profile/:uuid, GET /textures/:uuid.png
  * Reads skin PNGs and metadata from launcher skins dir
  * sync_offline_skins() copies PNG to CustomSkinLoader/skins/, config/offlineskins/, cachedImages/skins/
  * prepare_authlib_injector() downloads authlib-injector-1.2.5.jar on first launch
- Modify packages/oneclient_core/src/game/launch.rs:
  * Start skin server and attach -javaagent authlib-injector before spawning Minecraft
  * Sync skins to cluster game dir mod folders on every launch
- Add authlib_injector_path() to packages/oneclient_common/src/paths.rs
- Remove dead fetch_skin_online() from skin.rs + all exports
2026-08-29 20:00:45 +05:30
2a040f8e91 perf: eliminate account dropdown micro-delays with global avatar caching and dev optimization 2026-08-29 19:21:11 +05:30
005e7ce77b fix(skins): isolate UrlModal and PreviewPanel as Component structs to prevent conditional hooks 2026-08-29 18:47:44 +05:30
5a7ecf9293 fix(lifecycle): isolate navbar components and eliminate startup query borrow collisions 2026-08-29 18:39:59 +05:30
714dadf388 fix(hooks): eliminate conditional hooks and add render keys to Avatar and PlayerModel 2026-08-29 18:30:28 +05:30
a363af6d20 feat(skins): integrate full offline skin changer with 3D preview, model toggle, file import, and online URL lookup 2026-08-29 17:46:22 +05:30
6f7977c734 fix(account_switcher): spawn detached async task for account switching to avoid unmounted scope crash 2026-08-29 17:08:53 +05:30
ddfe500494 chore: update repository links to OneLauncher-Cracked 2026-08-29 15:32:11 +05:30
f17ab744d2 fix(onboarding): ensure async offline account creation completes before navigating 2026-08-29 07:37:48 +05:30