Skip to content

fix: 修复渲染器解析、资源下载不可见与进度卡在 100% - #123

Open
ghb997 wants to merge 2 commits into
herbrine8403:mainfrom
ghb997:codex/fix-renderer-resource-visibility
Open

fix: 修复渲染器解析、资源下载不可见与进度卡在 100%#123
ghb997 wants to merge 2 commits into
herbrine8403:mainfrom
ghb997:codex/fix-renderer-resource-visibility

Conversation

@ghb997

@ghb997 ghb997 commented Aug 24, 2026

Copy link
Copy Markdown

概要

  • 统一 renderer 与 graphicsApi 的白名单规范化和解析入口;Profile 空值继承全局设置,显式 Auto 与“继承默认”分离,启动一个 Profile 不再污染其他 Profile。
  • JavaLauncher 与 EGL bridge 使用同一套 Auto 解析逻辑;当前 Auto 确定解析为 ANGLE,以保持 Minecraft 26.2+ 的稳定兼容。
  • 保留 Modrinth / CurseForge API 来源,避免使用错误平台的项目 ID 请求版本。
  • 将目标 Profile 贯穿资源管理页、下载页和落盘服务,统一解析 .、相对及绝对 gameDir;显式失效的 Profile 会明确失败,不再静默写入其他实例。
  • 分离 Mod 与 Shader 的搜索、分页和请求代次状态,忽略过期响应,避免标签页之间互相阻塞或污染结果。
  • 下载完成后主动刷新模组、光影、资源包、数据包和世界列表,使已落盘资源立即可见。
  • 加固下载任务的终态、缓存命中、迟到回调、暂停/继续与重复重试;传输完成但仍在校验、落盘或解压时显示“处理中”及最高 99%,仅真正完成后显示 100%。
  • 世界下载改为“下载 → staging 解压/验证 → 无冲突移动”流程:拒绝路径逃逸、符号链接和歧义世界,校验普通文件 level.dat,不覆盖或合并已有同名存档,并用 generation gate 隔离旧回调。
  • 补充 renderer、目标 Profile、资源下载状态和世界安装链路的跨平台源码契约测试,并同步相关文档与本地化文案。

测试

  • python -B -m unittest tests.test_source_contracts -v — 20/20 通过
  • git diff --check origin/main...HEAD — 通过
  • 与最新 origin/main 比较,可自动合并
  • macOS / Xcode 完整 Objective-C 构建
  • iOS 真机验证 Auto、ANGLE、MobileGlues、GL4ES 与 Vulkan
  • Modrinth / CurseForge 各资源类型端到端下载
  • 世界 ZIP 实体样本与暂停、取消、重试竞态验证

已知限制

  • 当前验证环境为 Windows,无法执行 Xcode/iOS 构建。
  • UZKArchive 的实际解压过程不能中途终止;取消会阻止内容进入 saves 并在解压结束后清理 staging,但 App 在解压期间被强制结束时可能遗留隐藏 staging 目录。

Closes #121

@codacy-production

Copy link
Copy Markdown

Not up to standards ⛔

NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.

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.

[Bug] 渲染器解析错误、下载资源不显示及进度卡在 100%

2 participants