Clone
3
Task-61-修正生成尝试状态展示
ila edited this page 2026-08-25 17:57:36 +08:00
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

61 修正生成尝试状态展示

  • 类型:缺陷修复
  • 所属 Epic:#3
  • 所属 MVP / 版本:#35 / MVP-2
  • 状态:待验收
  • 日期:2026-08-25
  • Gitea 工单:#61
  • Wiki 页面:Task-61-修正生成尝试状态展示

背景与目标

管理端此前读取接口中不存在的 attempt.succeeded 字段,导致任务刚启动时将任务认领事件和仍在执行的 Provider attempt 都立即显示为“失败”,并为非 Provider 事件显示虚假的“模型 #-”。本任务修正既有时间线的状态语义,不改变生成链路、接口或数据。

最终方案

  • 提取 attempt 显示映射纯函数,集中处理标题、状态、视觉类型、时间和模型显示规则。
  • lease 显示“任务认领 / 已认领”,且不显示模型编号。
  • Provider attempt 未结束且无错误时显示“进行中”;有 error_code 时显示失败及现有脱敏错误;已结束且无错误时显示成功。
  • 对旧数据缺失字段和未知事件类型提供稳定兜底,避免页面运行时异常。
  • 页面继续复用原有时间线结构,不修改后端、数据库、配置、权限或上游调用行为。

修改文件

  • admin-ui/src/views/chorus/generations/helpers.js:新增 attempt 状态显示映射。
  • admin-ui/src/views/chorus/generations/index.vue:时间线改用统一映射,移除错误的 succeeded 判断。
  • admin-ui/tests/unit/chorus/generation-attempts.spec.js:覆盖认领、进行中、成功、失败和异常数据。

验收结果

验收标准 结果
lease 显示任务认领且不显示虚假模型编号 通过
未完成 Provider attempt 显示进行中 通过
失败和成功状态按实际字段显示 通过
不调用真实上游,不修改配置或数据库 通过
完整生产双构建 未完成:宿主机提交内存不足导致 module bundle 的 Node 进程 OOM;legacy bundle 已编译成功

测试

  • 目标 ESLint:通过。
  • 目标 Jest:6/6 通过。
  • Chorus 管理端单元测试:5 个 suite、18 个测试全部通过。
  • python dev_scripts/harness.py check --strict:通过。
  • Supervisor 管理端 UI 开发构建完成,http://127.0.0.1:9528/ 返回 HTTP 200。
  • 未验证部分:完整 build:prod 的第二套 module bundle 因宿主机内存资源不足未完成;未发现本工单代码编译错误。

遗留问题

generation #11 后续约 300 秒以 route_unavailable 真实失败,属于上游超时问题,不在本工单范围内。

相关提交

  • dfeedb0 fix: 修正生成尝试状态展示 (#61)