Repository navigation
perf(runtime): 复用已验证的健康启动环境 - #1907
Conversation
Codex Review Summary: ✅ CompletedThis comment shows the latest Codex review activity on this pull request.
ℹ️ About Codex in GitHubYour team has set up Codex to review pull requests in this repo. Reviews are triggered when you
Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings. |
总体结论:可以合并AUTO-MAS-Project/AUTO-MAS #1907 这版没有凭 Runtime 版本号猜能力,而是先问当前 exe 自己是否支持,再决定要不要复用健康环境。备份文件也不会抢答,dot酱核对下来没有确认的必须修改项喵。 二进制服务负责读取并透传能力,初始化服务负责选择命令;健康检查与实际环境准备仍由 Runtime 完成,后端是否就绪仍看 supervise 的 running 事件,没有把“准备完成”直接当成“后端启动成功”。 规范未确认阻断项。能力只接受 version 响应中的布尔 true,属于本轮同步的局部状态;.old 备份查询不覆盖它,恢复或替换当前 exe 后会重新探测。复用了现有版本查询,没有另加探测进程或长期缓存。 初始化结果继续从真实命令完成处记录遥测,没有把进度条补齐算成多次成功。新增测试从公开同步入口进入,隔离进程边界,覆盖了当前/备份能力相反、旧版和非法值等情况;这份夹具确实能检查新增契约,不是只对着源码字符串找答案啦。 规格未确认阻断项。新参数的启用条件 保留了对齐成功和明确能力确认;普通阶段重试、锁文件恢复不启用,重建仍走 repair。更新流程第 0 步失败后的整条重来,则重新执行正常 bootstrap 的能力判断;此前尚未进入环境准备。版本检查网络失败时继续使用原来的 --if-needed,没有混入新参数。 配套 Runtime #34 在发布本条评论前已合并,参数名与 version 字段也已核对一致。合并状态不代替本机能力判断:旧 Runtime 或未知能力继续走原流程,只有实际运行的 exe 确认支持才启用这条路径。这个兼容边界保留得清楚喵。 验证情况已读取当前提交的实际 CI 日志:前端 57 个文件、307 项测试通过,包含新增能力识别与初始化用例;Windows pytest 1805 通过、Ubuntu 1766 通过。格式、renderer 类型检查和 Windows 验证包构建通过,构建流程也执行了 Electron 的 build:main 编译。 dot酱仅静态审查并读取 CI,没有自行运行项目或 Runtime,也没有独立实测性能。配套 PR 的耗时数据不能代替本 PR 的真实安装环境验收,更不代表首次安装或整机启动收益。 规范轴 0 项确认问题,规格轴 0 项确认问题。可以合;实际提速仍以支持该能力的 Runtime 和健康环境条件为前提。 —— dot酱把兼容分支也核过敬上 🐾 |
## Release v5.9.0-beta.1 由「准备发版」工作流生成。这是唯一允许修改 `CHANGELOG.md` 与版本号的 PR,合并后请手动运行「构建并发布应用程序」。 合并前请在本 PR 里完成: - [ ] 「本次亮点」够不够:合并前给碎片加 `highlight: true` 就会自动进这一类,现在也可以直接在 `CHANGELOG.md` 新版本段里把条目挪过去 - [ ] 有 3 个提交改了用户可见代码但没带碎片(清单见[运行摘要](https://github.com/AUTO-MAS-Project/AUTO-MAS/actions/runs/43347223103)),若用户可见就在新版本段里补一条 - [ ] 改完运行 `python scripts/changelog.py sync` 并提交 ### 体积 - 首行 JSON 2371 / 18000 字符,带 1 个版本段 - 本版 40 条,最长的几条: - 78 字(变更)【设置】自启与静默启动可独立设置,静默时直接进入托盘,关闭可选退出或托盘,最小化保留任务栏。 (#1928) by @he0119 by @1w1w11w1 - 76 字(修复)【MAA】MAA 更新失败时统一检查安装健康;资源半更新自动重装,官方本体失败保留标记并提示使用官方修复入口 (#1909) by @youngslin - 75 字(变更)【模拟器】ModAVD 全部改由 modavd 命令行控制,移除自带的直控和更新器,不再支持无命令行的旧根目录 (#1918) by @qiyinxi - 64 字(修复)【主页】调整任务台版本主线的 UI,并让版本更新倒计时更清楚 (#1926) by @TyrannosaurusGodofWar - 64 字(破坏性变更)【调度】重构任务调度与范围选择,完善日志恢复、独立触发、队列附加动作及电源收尾。 (#1845) by @DLmaster361 自 `v5.8.0` 以来的改动: ###⚠️ 破坏性变更 - 【调度】重构任务调度与范围选择,完善日志恢复、独立触发、队列附加动作及电源收尾。 (#1845) by @DLmaster361 ### ✨ 新增 - 【M9A】新增 MAS 登录 B 服:处理隐私协议并选择已保存账号后交给 M9A 运行 (#1882) by @Douya36 - 【ok-ww】支持脚本逐账号或批量切号、显示失败原因并补跑未完成账号 (#1890) by @AthenaHibou - 【ok-nte】支持按日配置日常计划,并可在详细配置中调整当天任务。 (#1921) by @AthenaHibou - 【调度】在日志末尾显示预下载方式和进度,支持独立配色与连续渐变(仅公测) by @youngslin - 【设置】支持调整自定义光标的显示大小。 (#1904) by @Douya36 ### 🔧 变更 - 【调度】统一各脚本账号编辑页的页头和基本信息布局 by @Craun718 - 【模拟器】魔改 AVD 改名为 ModAVD,界面、提示和日志统一用新名称 (#1898) by @qiyinxi - 【模拟器】ModAVD 全部改由 modavd 命令行控制,移除自带的直控和更新器,不再支持无命令行的旧根目录 (#1918) by @qiyinxi - 【设置】统一主要页面的标题、间距、卡片层次和日志按钮外观 (#1893) by @1w1w11w1 - 【设置】浅色主题改为中浅灰画布配纯白卡片,补回分隔线与卡片边缘层次 (#1855) by @beichen24a1 - 【设置】自启与静默启动可独立设置,静默时直接进入托盘,关闭可选退出或托盘,最小化保留任务栏。 (#1928) by @he0119 by @1w1w11w1 - 【Runtime】加快运行环境健康时的启动准备 (#1907) by @jinghero ### 🐛 修复 - 【MAA】MAA 更新失败时统一检查安装健康;资源半更新自动重装,官方本体失败保留标记并提示使用官方修复入口 (#1909) by @youngslin - 【MAA】修复保存配置时修改被误判未保存并丢弃的问题 (#1930) by @jinghero - 【end】MaaEnd 安装异常时统一恢复事务,并安全修复可信身份的损坏本体 (#1913) by @youngslin - 【HSR】为 M7A 与 SRA 更新中断后的未完成回滚添加用户确认恢复入口 (#1915) by @youngslin - 【HSR】修复 SRA 使用自建下载站时无法下载安装更新的问题。 (#1945) by @youngslin - 【bgi】修复正式版安装资源尚未就绪时自动更新失败的问题 (#1901) by @youngslin - 【ok-ww】修复直接启动游戏时无法覆盖默认资源档位的问题 (#1925) by @AthenaHibou - 【ok-ww】修复新版脚本启动后不执行每日任务的问题 (#1940) by @AthenaHibou - 【ok-ww】修复新版启动器不触发游戏更新及停服维护时反复重试的问题 (#1934) by @1w1w11w1 - 【ok-ww】修复鸣潮和异环更新重启后自动切号失败的问题。 (#1933) by @AthenaHibou - 【ok-nte】修复仅开启任务后关闭时无法关闭游戏及启动器的问题。 (#1920) by @AthenaHibou - 【BAAH】损坏的托管安装须由用户明确选择官方完整包修复,禁止绕过校验运行 (#1908) by @youngslin - 【奇想盒】修复后端安装中断后无法自主确认恢复的问题 (#1905) by @youngslin - 【SRC】修复原生安装中断后无法自主选择安全恢复的问题 (#1906) by @youngslin - 【主页】调整任务台版本主线的 UI,并让版本更新倒计时更清楚(仅公测) (#1926) by @TyrannosaurusGodofWar - 【调度】修复停止任务后脚本及更新子进程残留、项目持续占用和结果未保存的问题 (#1892) by @youngslin - 【调度】统一配置表单、卡片间距与状态颜色,优化队列列宽和配置说明 (#1927) by @AthenaHibou - 【模拟器】修复启动模拟器时 adb 命令执行不了却只提示超时、看不到原因的问题 (#1894) by @miaojiuqing - 【模拟器】手动停止任务时不再把 ModAVD 模拟器连同任务一起强制结束 (#1919) by @qiyinxi - 【工具】修复 MCP 查询全部托管失败及可空参数被错误拒绝的问题 (#1895) by @HarcoChen - 【设置】修复模拟器管理和调度中心卡片外侧阴影显示不一致 (#1897) by @1w1w11w1 - 【设置】FluxDown 自动识别强制优先选择 MAS 内的文件夹。 (#1948) by @youngslin - 【更新】统一脚本安装恢复入口及队列结束时的下载异常汇总 (#1916) by @youngslin - 【Runtime】修复回退旧版后再次升级时无法启动的问题 (#1889) by @jinghero - 【Runtime】修复后端启动异常退出却被误判为正常结束的问题 (#1929) by @jinghero - 【Runtime】修复临时启动失败后反复停留在失败页的问题 (#1938) by @jinghero - 【Runtime】修复初始化时依赖安装已成功却被误报为失败的问题。 by @ClozyA Co-authored-by: ClozyA <133191303+ClozyA@users.noreply.github.com>
摘要
验证
e1c3bd942f3a157109e0223cc3d68507b612bee1。初始化、二进制替换、能力识别、更新与后端启动相关 85 项测试通过;Electron 编译、yarn typecheck、yarn format:check、yarn lint、锁定 Ruff 0.16.8 的全仓格式检查及 changelog 检查通过。复核入口与边界
从
frontend/执行yarn test electron/services/runtimeInitializationService.test.ts electron/services/runtimeBinaryService.test.ts electron/services/runtimeBinaryCapabilities.test.ts electron/services/runtimeUpdateService.test.ts electron/services/backendService.test.ts可复核相关契约。真实 Runtime 副本和故障验收见配套 PR。现有浏览器@init流程不覆盖 Electron Runtime 引导,本次未用它代替该链路的证据;未运行账号、游戏或模拟器流程。