fix: 消除会话列表解析阻塞并按需加载工具详情

This commit is contained in:
shiyue
2026-10-19 10:58:22 +08:00
parent fb2c3360c9
commit 99cc807f4b
35 changed files with 1468 additions and 214 deletions

View File

@@ -0,0 +1,2 @@
{"file":".trellis/spec/frontend/quality-guidelines.md","reason":"前端验证要求"}
{"file":".trellis/tasks/10-17-display-image-render-failure/prd.md","reason":"检查真实故障与业务边界"}

View File

@@ -0,0 +1,4 @@
{"file":".trellis/spec/frontend/index.md","reason":"前端开发规范"}
{"file":".trellis/spec/frontend/quality-guidelines.md","reason":"前端验证要求"}
{"file":".trellis/spec/frontend/component-guidelines.md","reason":"DOM 组件风格"}
{"file":".trellis/tasks/10-17-display-image-render-failure/prd.md","reason":"真实故障形状与修复边界"}

View File

@@ -0,0 +1,20 @@
# 修复 ccweb_display_image 图片展示失败
## 需求
用户截图中会话 0bb322b1-e9f8-47e7-9af1-970411bfec5a 连续八张图片均显示“图片渲染失败”。定位并修复现有显示链路,使已保存图片在刷新后正常显示,并给后续调用提供相同行为。
## 已确认原因
真实存档 tool.result 是 MCP CallToolResult 的 JSON:`{content:[{type:'text',text:'业务 JSON'}],structuredContent:{ok:true,image,attachment},_meta:null}`。当前前端只解析一层 JSON 后直接检查 payload.ok,因此把成功的 MCP 包装结果识别为失败。服务端业务结果确实 ready。
## 实现边界
- 在前端正确解析直接业务结果与 MCP structuredContent / content 文本形式。
- 保留明确的业务错误消息、等待状态和异常格式兜底。
- 使用实际历史结果形状补充行为回归,包括已有图片附件和直链图片。
- 不修改用户历史数据,不改协议,不重新生成图片。
- 保留工作区中已经存在的文件浏览器图片画廊改动;改动前核对 git diff。
## 验收
- 截图中八个已有成功结果可以解析得到正确 attachment。
- 渲染组件进入图片预览分支,不再显示误报失败。
- 错误响应与不合法结果不被误报成功。
- 必要测试通过;运行服务能提供新静态文件,若需要重启必须先查其他运行对话。

View File

@@ -0,0 +1,26 @@
{
"id": "display-image-render-failure",
"name": "display-image-render-failure",
"title": "修复图片展示失败",
"description": "",
"status": "completed",
"dev_type": null,
"scope": null,
"package": null,
"priority": "P2",
"creator": "shiyue",
"assignee": "shiyue",
"createdAt": "2026-10-17",
"completedAt": "2026-10-17",
"branch": null,
"base_branch": "main",
"worktree_path": null,
"commit": null,
"pr_url": null,
"subtasks": [],
"children": [],
"parent": null,
"relatedFiles": [],
"notes": "",
"meta": {}
}