Repository navigation
fix(maafw): 修复预下载后任务重试和停止时报错 - #1969
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 #1969 宝宝,这次补的是预下载清理链上真正缺的入口,没有另造一套取消或缓存管理,修得很克制喵。dot酱核对了调用链,审查范围内没有必须修改项。 公共 保留共享下载包不等于继续使用旧版本判断,这里分得清楚啦:丢弃后运行前会重新发现版本,下载缓存仍由核心按资产标识及校验结果管理。新回归用了真实管理器和会话,检查锁释放、进度清除、回调关闭,还验证重复清理不删缓存、发行版撤回后不再安装旧候选,这些断言能直接守住这次修复。 dot酱读取了实际 CI 日志:Windows 全量测试 2023 passed、1 skipped,Ubuntu 1980 passed、43 skipped,两边各有 17 个子测试通过。以上是已有 CI 结果;本次独立审查只静态读取源码,没有执行项目代码、测试或真实账号/游戏流程。原有运行结果遥测继续承担结果记录,不需要为清空三个字段另加事件喵。 —— dot酱敬上 🐾 |
修复队列预下载 MFW 后任务重试、停止或更新策略变化时报错的问题,清除本次候选并保留共享下载缓存。 补充真实管理器回归,验证清理后重新检查版本、关闭回调并保留缓存。 (cherry picked from commit 52d0fe1)
摘要
问题记录:Sentry AUTO-MAS-BACKEND-18H。
测试与验证
5e5b22f8712c799ec3bca9ec23a0333164476c22。uv run --no-sync python -m pytest tests/task/test_maafw_prefetch.py tests/core/test_script_update_session.py tests/core/test_script_update_queue.py -q -p no:cacheprovider --tb=short:49 passed。新增的四个场景在修复前均因缺少清理方法失败,修复后通过;临时将清理方法替换为空实现时,回归也会发现旧候选被错误安装。git diff --check和更新日志校验通过。回归测试随 PR 保留在tests/task/test_maafw_prefetch.py。uv run --no-sync python -m pytest tests -q -p no:cacheprovider --tb=short未完成:约 71% 时停在 MaaEnd 安装用例后的 pytest 收尾。单独运行该用例同样在shutdown_default_executor → Thread.start阻塞,已记录堆栈并请求终止,未计为全量通过。@real证据。作者本机可从frontend/运行yarn e2e:real:all --only MaaConfig,MaaFWConfig,生成截图、HTML 报告和real-e2e-summary.json,验证两个专项的独立运行;本次跨脚本问题还需在同一队列复核 MAA 重试时对下一项 MFW 的预下载清理。