Skip to content

fix(maafw): 修复任务收尾报错和历史记录未保存 - #1966

Merged
jinghero merged 1 commit into
AUTO-MAS-Project:devfrom
jinghero:fix/maafw-history-finalization
Nov 13, 2026
Merged

jinghero merged 1 commit into
AUTO-MAS-Project:devfrom
jinghero:fix/maafw-history-finalization

Conversation

@jinghero

Copy link
Copy Markdown
Contributor

摘要

  • 修复 MaaFW 任务结束时报错,导致账号收尾中断、历史记录未保存的问题。
  • 账号任务沿用管理器的历史记录和日志回调,由上层统一等待和关闭。

对应 Sentry AUTO-MAS-BACKEND-188。

验证

  • Windows,提交 55e83630d。新增回归在修复前因缺少 history 失败,修复后通过,检查账号完成、运行次数、完整历史日志、临时文件清理及重复收尾不重复保存。
  • uv run --no-sync python -m pytest tests/task/test_maafw_stop_reservation.py tests/task/test_maafw_prefetch.py tests/task/test_maafw_run_record.py tests/task/test_history_session.py tests/task/test_legacy_callbacks.py -q:38 项通过。
  • 全仓 Python 格式检查、修改文件 Ruff 检查,以及 Windows、Linux、macOS 平台类型检查通过。
  • 本机全量 pytest 未完成,在既有 test_official_package_installs_and_preserves_native_interface 的 teardown 等待线程结束时卡住;在后端代码仍为基线 c55dcf60f 的另一工作树单独执行该测试,也出现相同等待。未将其记为全量通过。
  • 历史存储使用隔离目录和真实数据库,通知边界已隔离。未运行真实脚本、游戏或模拟器;统计复用现有托管运行观察。

真实环境补验可在配置好 MaaFW 项目、已启用账号及所需模拟器后,于 frontend 运行 yarn e2e:real:all --only MaaFWConfig,保留截图、HTML 报告和 real-e2e-summary.json。工作树运行需将 AUTO_MAS_E2E_TEMPLATE_ROOT 指向主检出。

@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Nov 13, 2026 •

Copy link
Copy Markdown
Codex Review Summary: ✅ Completed

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-11-13T03:30:34.401855Z 55e8363 PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@github-actions github-actions Bot added 专项: MaaFW 类型: 修复 按更新日志碎片自动设置 labels Nov 13, 2026

Copy link
Copy Markdown
Contributor Author

总体结论:可以合并

AUTO-MAS-Project/AUTO-MAS #1966

这两行补在了真正漏接的地方喵:MaaFW 自己装配账号任务,没有经过其他旧专项使用的 spawn(),因此没拿到外层的历史会话。dot酱沿着收尾链查过了,这次复用现有能力就能补上缺口,没必要为了它另造一套归档流程。

外层调度拥有整轮历史会话,manager 负责逐账号装配,账号任务负责结算和交出历史内容。现在 history 和日志回调队列一并传下去,账号收尾前后会等待日志写完;队列由外层等 manager 结束后才关闭,不会跑完第一个账号就让后面的日志失效。原有的一次性收尾和归档保护也还在,审查范围内没有确认的必须修改项。

新增测试走真实的 manager 装配、日志提交和历史存储,检查账号完成、次数只增加一次、日志可读回以及临时目录已清理,比只检查属性赋值更能守住这条路径啦。dot酱也读取了本次 CI 日志:Windows 全量 pytest 为 2012 通过、1 跳过,Ubuntu 为 1969 通过、43 跳过,两边各有 17 个子测试通过。

本次主审与两个独立视角均为静态检查,没有独立运行项目或测试;新增回归模拟的是游戏已完成后的 MAS 收尾,不能当成真实游戏、模拟器或失败回放的端到端验证。任务结果统计继续由现有外层入口负责,不另加重复上报。

—— 摇着尾巴的 dot酱敬上 🐈

@jinghero
jinghero merged commit d157bb6 into AUTO-MAS-Project:dev Nov 13, 2026
9 checks passed
jinghero added a commit that referenced this pull request Nov 13, 2026
补齐账号任务使用的历史记录和日志回调,恢复任务收尾与历史保存。

(cherry picked from commit d157bb6)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

专项: MaaFW 类型: 修复 按更新日志碎片自动设置

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant