Skip to content

feat: 准备 v1.6.2 xb 双端启动器与启动交接修复 - #15

Open
Moeary wants to merge 257 commits into
devfrom
features/windows-parity
Open

Moeary wants to merge 257 commits into
devfrom
features/windows-parity

Conversation

@Moeary

@Moeary Moeary commented Nov 13, 2026 •

Copy link
Copy Markdown
Contributor

新版使用共享 Avalonia Desktop 承载 Windows 与 Apple Silicon macOS,目标版本 1.6.2 / xb。Windows x64/ARM64 使用自包含单 EXE,Mac 使用固定身份签名 .app;保留旧目录实例发现、同一系统用户的账户接续及各平台启动适配。

迁移覆盖主页/账户、资源下载、整合包导入导出及拖入安装、实例模组/资源包/光影更新筛选、截图/存档、设置即时保存、三语、自定义主页、收藏和本地崩溃分析。保留旧实例客户端、依赖库及资源的完整性校验与复用;首页恢复在线账户、头像和皮肤,认证失败保留账户并提示重新登录。aria2 连接用户已启动的 localhost:6800 RPC,不可用时回到内置下载。用户取消的大厅/P2P、视频背景和自动更新不恢复。

v1.6.2 纳入启动交接补丁:Java 参数交接后继续显示初始化和等待秒数,确认目标 PID 的真实窗口后收起进度并执行自动最小化/隐藏/关闭。期间可返回启动器并再次启动同包,较早的会话不会覆盖当前进度。这改善等待反馈,不宣称 JVM/整合包加载提速。

发行复用 Desktop 构建入口;受信 push、dev/main 与标签构建使用固定 Mac 签名和冻结凭据组件。公开 Release 仅三个平台 ZIP,来源、签名、凭据注入布尔校验和哈希证据保存在 Actions,Windows 两种架构验证单 EXE,无散落 DLL。发行说明只含用户可见变化、选包和兼容提示。

验证:

  • 启动补丁在 Mac 完成 Core 11 项、完整 Headless 388 通过/3 条件跳过、Windows x64 交叉编译和签名候选核对;此前获授权的两次隔离 XPlus 1.21.1 均到主菜单并正常退出,首窗日志与独立窗口采样一致。未将不同加载温度作为提速证据。
  • 用户于 2026-11-15 回报 Windows 端本次提交没有问题;这是用户确认,不替代全部 Windows 设备、账户与加载器矩阵。
  • v1.6.2 源码 a028ce9 四组 CI 和标签发行构建通过:Mac Core 957/7 条件跳过、Headless 388/3;Windows Core 947/11、Headless 390/1。本地版本/启动计划/进程生命周期 29/29、发行策略 27/27、actionlint 通过。
  • v1.6.2 预发布的三包身份、哈希、单 EXE、Mac 签名与冻结组件核对通过;本机从发行包安装后软件信息版本/源码正确,正常退出重开保留 3 个账户、1 个 XPlus 和原配置,所选微软头像自动恢复,本次未出现新的钥匙串提示。本轮不启动 Minecraft。

继续以功能分支提供 v1.6.2 预发布,不设为稳定 Latest,不移动旧标签。此 PR 保持打开,不自动合并;稳定发行仍遵循 dev → main。Mac 暂无 Intel 架构和 Apple 公证,Windows 暂无 Authenticode;ARM64 真机、更多大包/旧加载器、睡眠/显示器/Space 和重开接回既存会话等矩阵见 todo。没有加入自动检查或应用内自动替换产品功能。

用户说明:v1.6.2。

Moeary added 30 commits November 5, 2026 00:29
Use fixed-arity getattrlist full-path attributes to preserve actual stored
case and Unicode names, including existing ancestors of new data roots.
Keep isolated credential scopes stable across aliases and first creation
without globally folding names belonging to different filesystem objects.

Validation: macOS ARM64 build with zero warnings/errors; filesystem scope
4/4 and non-NativeCredential regression 53/53 passed under bounded runs.
Native attribute results matched native C F_GETPATH in 13 comparisons.
The initial cancelled run and discarded variadic P/Invoke are documented;
NativeCredential is NOT_RUN for this batch, not claimed passed or skipped.
Run opt-in hash, link, mode, real probe and verified reuse checks.
Validate default opt-out and online 1/1 with zero build warnings/errors.
Assign the injected launcher or Core build name before loading App XAML so
the native host receives the product identity during initialization.

Validation: existing 26 Headless tests pass with zero warnings and errors.
Native display-name confirmation remains part of integrated GUI validation.
Transfer one-use input with bounded writes, concurrent output and owned cleanup.
Validate Java 8 bytecode, command-line isolation, 10 new and 53 regression tests.
Add loader selection and version input, route creation through the
matching service contract, and reject unsupported loader operations.

Include the main-supplied Fabric API dependency in this local phase;
the handoff patch contains only four owned UI and test files.

Validation: 28 Headless tests passed, with zero build warnings or errors.
Keep common private-input assertions independent of the macOS native gate.
Validate common 10/10 and macOS argv 1/1 with zero warnings or skips.
Disable server destinations for every account kind while preserving
status queries and standalone launch. Require local aria2 endpoints
and explain internal-downloader fallback without rewriting saved drafts.

Validation: all 30 Headless/VM tests passed, with zero build warnings
or errors; includes account-kind gates and remote-RPC persistence guards.
Protect resumed and aria2 output paths, hash resume source identities, and serialize local RPC outputs. Align UI capability gates with the implemented backend.

Register the same native Java 21 for CI compilation and tests; split portable private-input assertions from the macOS argv gate.

Validation: Core 137 passed, 1 opt-in online test skipped; Headless 30 passed. Local CI registration/compiler fixture and exact worker patch hashes verified. Native Windows and interactive Minecraft acceptance remain blocked.
Add the saved automatic-copy preference, read-only Java trust inspection
and explicit repair-copy selection with policy and provenance details.
Keep original Java paths available and preserve other settings drafts.

Validation: 34 Headless/VM tests passed, zero build warnings or errors.
The Java trust fake is a protocol fixture; actual keytool and Core
derivation behavior require the integrated main/platform validation.

Shared contracts supplied by main remain outside this commit.
Evaluate RID-specific WPF entry outputs separately from RID-less SDK ProjectReferences, then verify the actual configuration owner and bundled executable. Remove an unnecessary nullable tuple conversion in the shared legacy generator.

Validation: unified local x64 and ARM64 cross-publish, owner checks, packaging and hashes passed. Existing WPF warnings remain; native Windows execution was not available.
Distinguish uninspectable trust items from checked items with no repair
needed. Extend the existing bound scan regression without changing
Java settings or adding a separate string-only test.

Validation: all 34 Headless/VM tests passed, zero build warnings/errors.
Shared contracts supplied by main remain outside this commit.
Keep Mojang runtimes read-only and publish independently copied, fingerprint-repaired homes with provenance and pre-execution validation. Preserve backup and exact restore semantics; inspect PKCS12 in memory without OS key import.

Validated macOS ARM64: 49 Java/trust/installer cases, 11 protected-argument regressions, and 2 actual B5 runtime-copy/keytool cases. Default interop guard skipped 2 cases. All child commands exited 0 with no build warnings; preserve wrapper assessment exit 1 and separate TRX outcome reassessment.
Copy source homes without mutation, enforce exact certificate policy transforms and verify source/output trees before reuse or execution. Read PKCS12 in memory without Keychain import and keep official Mojang manifests intact.

Connect scan/copy settings, default automatic derivation for new official runtimes, explicit selection, isolated CLI and transactional Core orchestration. Preserve original runtimes and instance overrides.

Validation: integrated Core 181 passed/3 explicit skipped; Headless 34 passed, .NET zero warnings/errors. Worker real JKS and PKCS12 copies/probes passed; retain prior failures and wrapper skip-counter failure. Case-sensitive path hardening follows as a separate checkpoint; native GUI/Windows/account acceptance is not claimed.
Use actual macOS filesystem spelling and explicit ordinal containment on POSIX. Compute relative paths only after boundary checks, preserve literal ownership of escaping derived paths, and share the public canonical helper with platform paths and Java installation.

Validated macOS ARM64: 41 targeted boundary, trust, installer, path identity and real copied-runtime JKS/PKCS12 cases pass, no skips; build has no warnings or errors. Preserve the first failed fixture expectation. Case-sensitive-volume and Windows/Linux native execution remain unverified.
Share actual filesystem spelling with explicit POSIX comparisons across installer, derived runtime, application paths and Core containment. Preserve valid aliases and reject escaped literal ownership.

Refuse hard-linked or nonregular log targets so observational logging cannot mutate protected data or misreport a committed operation.

Validation: Release Core188 passed/3 explicit skipped; Headless34 passed; local no-Secrets CI187 passed, all .NET zero warnings/errors. Native case-sensitive volume and Windows execution remain unverified. Initial test import/exception assertion failures retained.
Record N4 clean-source archive identity, B07 same-root withdrawal regression,
production Keychain and Java trust checks, and the unresolved GUI/native gates.
Keep frozen candidate source distinct from documentation-only delivery HEAD.

Validation: git diff --check; existing N4 six-archive SHA-256 recheck PASS.
No production source changed; no build or test rerun required.
Serialize process-local interaction suppression across all Keychain store instances.
Save and restore the Darwin Boolean on the native thread and check restore errors.
Retain UIFail queries and existing credential ACLs, backend, and failure semantics.

Verify native scope restoration, serialization, creator-owned item denial/preservation,
and the existing read/write/update/delete roundtrip on macOS ARM64 (4/4, build 0/0).
…tence

Serialize legacy macOS Keychain interaction state per process and restore it
after each native operation, without changing item ACLs or system settings.
Retain rotated sessions and original disk accounts after a sidecar failure;
show new unsaved accounts as session-only and commit selection before UI state.

Validation: main account regressions 5/5; worker native Keychain policy and
roundtrip 4/4 with zero .NET warnings/errors; independent source review.
Full frozen-source Core/CI and N5 product candidates will be verified next.
The original N4 cross-configuration timeout remains recorded.
Record the frozen573ce8e candidate identities, complete local regression
evidence, same-root build sequence, and preserved N4 Keychain timeout.
Separate safe noninteractive refusal from cross-identity access continuity.
Document current ownership and the account persistence/rotation contract.

Validation: git diff --check; N5 four-product publish and native component
checks, six archive hashes, Core196+3 explicit skips/UI34/localCI192 PASS.
Documentation only; GUI/native Windows/real accounts and code gaps remain.
Record six checks against the unchanged N5 Core on a separate case-sensitive
APFS fixture, successful detach and the independently reviewed narrow scope.
Keep internal implementation gaps explicit and all_executable_work_done false.

Validation: native fixture exit0/13.669s, six PASS, owned image detached;
git diff --check. No successful suite rerun or production source change.
The reviewed ui implementation already matches the integration tree.
Retain the tested final shared contracts, dependency locks and later core fixes.
Record the original local commits as ancestors of the new validation branch.
The reviewed platform implementation already matches the integration tree.
Retain the tested final shared contracts, dependency locks and later core fixes.
Record the original local commits as ancestors of the new validation branch.
@Moeary Moeary changed the title feat: 整合双端 Avalonia 启动器与 Windows 旧数据接续(v1.6 准备) feat: 准备 v1.6.0 xb 双端启动器与旧数据接续 Nov 14, 2026
@Moeary Moeary changed the title feat: 准备 v1.6.0 xb 双端启动器与旧数据接续 feat: 准备 v1.6.1 xb 双端启动器与旧数据接续 Nov 14, 2026
@Moeary Moeary changed the title feat: 准备 v1.6.1 xb 双端启动器与旧数据接续 feat: 准备 v1.6.2 xb 双端启动器与启动交接修复 Nov 15, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant