Commit graph

56 commits

Author SHA1 Message Date
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
70b6b0c8b1 docs: remove autoupdater from release notes template 2026-08-30 17:30:42 +05:30
31c294b02a docs: update release notes template to highlight multiplayer skin fix 2026-08-30 17:28:25 +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
f438445c38 ci: update release changelog and default tag to v2.2.3-c1
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 14:51:06 +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
f125ac2d0b ci: ensure previous release assets are purged on re-release 2026-08-30 09:50:48 +05:30
d7618833ef chore: keep version as 2.2.3 2026-08-30 09:44:00 +05:30
b4128fc8f7 release: v2.2.4 (remove portable executables from release artifacts) 2026-08-30 09:35:48 +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
6a20bcfec5 ci: add rust caching and safe in-place release publishing 2026-08-29 17:11:03 +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
d801eed647
Update README.md 2026-08-29 09:58:05 +05:30
bcfe8b8ea4
Update README.md 2026-08-29 09:57:44 +05:30
03b76306c2 docs: update repository link to OneClient-Cracked 2026-08-29 08:41:39 +05:30
f17ab744d2 fix(onboarding): ensure async offline account creation completes before navigating 2026-08-29 07:37:48 +05:30
27de1c3bd4 docs: update repository and release links to OneClientCracked 2026-08-29 07:22:54 +05:30
a659448ac6
Update README.md 2026-08-29 07:18:29 +05:30
1a552f0c5e ci: set fail_on_unmatched_files false for release publisher 2026-08-29 06:46:14 +05:30
47b7ba27a0 ci: improve artifact upload resiliency and set tag_name/make_latest for release 2026-08-29 06:44:43 +05:30
8ff958743c feat: add input sanitizer and character constraints hint for offline username 2026-08-29 06:28:12 +05:30
c603d59908 fix(auth): ensure custom offline account sets default user and add unit tests 2026-08-29 06:21:11 +05:30
481ca4d77e feat: prompt for custom offline username during onboarding 2026-08-29 05:57:18 +05:30
853c0beac5 fix(onboarding): auto-provision default Player account on fresh install 2026-08-27 19:42:49 +05:30
c6aca56f27 fix(auth): fix onboarding offline account creation and enable continue button 2026-08-27 19:42:49 +05:30
37a09c12de fix(linux): provide static desktop entry for rpm generation and update repo URLs 2026-08-27 19:42:49 +05:30
710c129273
Update README.md 2026-08-27 19:08:13 +05:30
f6e7d7a8c1
Update README.md 2026-08-27 19:07:14 +05:30
8cb08872bf
Update README.md 2026-08-27 18:13:43 +05:30
ca3dc4c638
Update README.md 2026-08-27 18:13:28 +05:30
aba8106b5b ci: add rpm generation and clean up release asset artifacts 2026-08-27 17:21:43 +05:30
945052def8 ci: use macos-14 runner to build x86_64-apple-darwin binaries 2026-08-27 16:49:24 +05:30
db273e7f38 fix: resolve cross-platform packaging formats and update offline auth tests 2026-08-27 16:43:21 +05:30
48fe1c78e7 fix(db): implement get_by_path, get_latest_by_major, delete_by_path, and list_all 2026-08-27 16:07:06 +05:30
130daf7c34 fix(db): switch java dao to runtime query_as for CI build compatibility 2026-08-27 16:07:06 +05:30
7ba19da764
Fix typo in README regarding username launch 2026-08-27 15:43:30 +05:30
71a5dea95f
Update README.md 2026-08-27 15:43:14 +05:30
a65ac9eed2
Update README.md 2026-08-27 15:42:53 +05:30
134c1db5c6 ci: add sqlx offline cache and env configuration 2026-08-27 15:41:38 +05:30