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

@@ -11,7 +11,7 @@
"creator": "shiyue",
"assignee": "shiyue",
"createdAt": "2026-10-14",
"completedAt": "2026-10-15",
"completedAt": "2026-10-19",
"branch": null,
"base_branch": "main",
"worktree_path": null,

View File

@@ -1,46 +1,76 @@
{
"browser": "Firefox 157.0.1",
"browserEvidence": "/tmp/cc-web-session-http-FcFyDq/browser-evidence.json",
"apiEvidence": "/tmp/cc-web-session-http-VTWGN4",
"verified": [
"WebSocket 假 OPEN 下首屏和完整运行输出",
"HTTP 读取途中断开 WebSocket 仍完成",
"拒绝 WebSocket 重连后仍可切换",
"HTTP 分页58条顺序正确且无重复",
"A 迟到响应不会覆盖 B",
"读取与订阅之间完成的任务通过修订对账补齐",
"损坏历史500立即结束加载并保留当前视图",
"浏览器不发送 WebSocket 历史读取请求",
"同会话代次、分页取消、完成交错、错误响应和渲染异常",
"HTTP 鉴权、非法ID/游标、损坏块/清单、修订变化与运行快照"
"checkedAt": "2026-10-19T02:57:49.386Z",
"status": "verified",
"rootCause": "WebSocket会话列表的尾部重复JSON解析阻塞服务主线程,HTTP进入处理函数前排队约79秒",
"fixes": [
"归档列表只读元数据、按修订缓存,不读取正文或重建快照",
"旧快照尾部反向单次扫描顶层字段",
"首屏和运行快照只传普通工具概要,展开后HTTP读取完整详情",
"折叠工具延迟构建详情DOM与切换取消"
],
"otherPassed": [
"activation": {
"status": "online",
"pid": 2886941,
"startedAt": "2026-10-19T02:41:10.051Z",
"servedFrontendMatchesSource": true
},
"productionBrowser": {
"browser": "158.0",
"evidence": "/tmp/ccweb-switch-live-AdoSFT/evidence.json",
"stages": [
{
"id": "0b768f2e-acc2-4faa-8cce-841531cf3643",
"durationMs": 352,
"count": 12,
"tools": 122,
"streaming": false,
"errors": []
},
{
"id": "ccc82825-4d91-4db7-96fe-315a2c30061f",
"durationMs": 430,
"count": 8,
"tools": 311,
"streaming": false,
"errors": []
},
{
"id": "e28cff1a-100e-4225-a33e-d7745017ab79",
"durationMs": 184,
"count": 12,
"tools": 227,
"streaming": true,
"errors": []
}
],
"toolDetailComplete": true
},
"productionConcurrentListStress": {
"evidence": "/tmp/ccweb-switch-live-3DL94a/evidence.json",
"switches": 9,
"minMs": 120,
"maxMs": 462,
"allDisplayedWithoutErrors": true,
"toolDetailComplete": true,
"readOnly": true
},
"passed": [
"session-metadata-unit",
"session-preview-metadata: 密集工具伪字段列表与HTTP并发",
"session-http-load: 首屏/分页/错误/运行恢复/工具详情",
"Firefox:32KB/s大工具首屏、折叠懒建、完整详情、断WS切换、迟到隔离、完成交错(/tmp/cc-web-session-http-xd0sGW)",
"session-switch-race",
"title-history-outline",
"frontend-asset-version",
"history-frontend-unit",
"history-runtime-unit",
"session-history-unit: 12项",
"history-runtime-completion-unit: 15项",
"JavaScript语法和git diff --check"
"history-runtime-completion-unit:15项",
"ccweb-display-image-unit",
"孤立归档列表不重建快照(完整历史套件第10项)",
"JS语法、git diff --check",
"Bun baseline打包与MCP初始化"
],
"incompleteAt60Seconds": [
"history-recall 大套件",
"session-history-store-unit 全套:前24项已显示通过"
"session-history-store-unit完整套件(60秒已输出24项通过)"
],
"activation": "verified",
"activationEvidence": {
"checkedAt": "2026-10-15T00:17:13.907+08:00",
"status": "online",
"pid": 2353800,
"restarts": 86,
"port": 8002,
"version": "953d5e1a0bbdcf56",
"httpStatus": 401,
"httpErrorCode": "not_authenticated",
"requestIdEchoed": true,
"servedFrontendMatchesSource": true,
"hasHttpQuery": true,
"hasRealtimeSubscription": true
"release": {
"path": "dist-exe/cc-web-bun-linux-x64-baseline.tar.gz",
"sha256": "ef5801d70fd04737c7c149335967a59b36f2039ab89b1e1bc5612ef997a15d6f"
}
}