产品问题
运营工作台能识别失败任务,但“查看失败工作项”和异常列表都跳到未筛选的 /tasks。用户仍需在总表里再次筛选和查找;最近运行/异常条目也不能进入对应任务上下文。
任务历史页还有一个增长后必现的可发现性问题:后端列表接口默认分页,前端只渲染第一页且没有分页入口,因此较早的任务会对用户不可见。
用户影响
- 异常发现到定位之间多一次人工查找,失败任务多时容易误点或漏处理。
- 筛选只保存在组件状态中,链接不可分享、刷新后丢失。
- 任务超过单页上限后,页面仍声称展示“所有采集工作项”,但用户无法访问后续历史。
验收标准
- Dashboard 有失败时直达
/tasks?status=failed。
- 最近运行与异常项可直达权威任务详情
/tasks/{task_id}。
- 任务状态与页码由 URL 查询参数驱动;切换状态时重置页码。
- 任务列表使用 API pagination meta 提供上一页/下一页和总数反馈。
- 非法/过期页码不会困住用户,并可返回第一页。
- 增加查询参数行为测试和页面回归测试,TypeScript、lint、production build 通过。
产品问题
运营工作台能识别失败任务,但“查看失败工作项”和异常列表都跳到未筛选的
/tasks。用户仍需在总表里再次筛选和查找;最近运行/异常条目也不能进入对应任务上下文。任务历史页还有一个增长后必现的可发现性问题:后端列表接口默认分页,前端只渲染第一页且没有分页入口,因此较早的任务会对用户不可见。
用户影响
验收标准
/tasks?status=failed。/tasks/{task_id}。