57 lines
5.5 KiB
Markdown
57 lines
5.5 KiB
Markdown
# Batch H Worker C — 浏览器 Smoke 证据整理
|
||
|
||
> 创建时间:2026-05-21
|
||
> 状态:✅ 已完成(Codex 已复核并补跑关键 smoke)
|
||
|
||
## 语法检查结果
|
||
|
||
| Smoke 脚本 | `node --check` | 说明 |
|
||
|-----------|:---:|-------|
|
||
| `task123-rust-web-tree-live-stream-consumer-smoke.js` | ✅ PASS | SSE/WS tree stream consumer |
|
||
| `task432-filetree-trash-page-dual-browser-no-refresh-smoke.js` | ✅ PASS | 双浏览器页面/垃圾箱无刷新同步 |
|
||
| `task446-tree-rename-dual-browser-live-smoke.js` | ✅ PASS | 双浏览器重命名实时同步 |
|
||
| `task447-tree-move-order-dual-browser-live-smoke.js` | ✅ PASS | 双浏览器移动顺序实时同步 |
|
||
| `task448-tree-resync-recovery-dual-browser-smoke.js` | ✅ PASS | 双浏览器 resync 恢复 |
|
||
| `task449-tree-sse-reconnect-snapshot-recovery-smoke.js` | ✅ PASS | SSE 断线重连恢复 |
|
||
| `task471-local-folder-bulk-resource-trash-smoke.js` | ✅ PASS | local_folder 批量资源删除 |
|
||
| `task476-filetree-editor-context-menu-download-smoke.js` | ✅ PASS | 文件树/编辑器右键菜单 + 下载 |
|
||
| `task487-local-folder-tree-live-consumer-smoke.js` | ✅ PASS | local_folder 树 live consumer 收敛 |
|
||
|
||
**全部 9/9 `node --check` 通过 ✅**
|
||
|
||
## 实跑证据汇总
|
||
|
||
| # | Smoke | 有 tmp/ 证据 | 状态 | 关键断言 |
|
||
|---|-------|:----------:|:----:|---------|
|
||
| 1 | task123 — 树 live stream consumer | ✅ `tmp/tree-live-cache-smoke/20260516-task123/task123.stdout.json` | ✅ GREEN | SSE snapshot 含 `data.dataset.kernel_sidebar_projection` + `kernel_file_tree_projection`;临时页 doc row 出现 |
|
||
| 2 | task432 — 页面/垃圾箱双浏览器无刷新同步 | ✅ `tmp/tree-live-cache-smoke/20260516-task432/result.json` | ✅ GREEN | 新建/归档/恢复/清空垃圾箱在 B 端无刷新同步通过 `tree:resync`/`tree:delta` |
|
||
| 3 | task446 — 重命名双浏览器实时同步 | ✅ `tmp/tree-live-cache-smoke/20260516-task446-rename/result.json` + 截图 | ✅ GREEN | B 文档页头、Breadcrumb、Sidebar、FileTree 全部通过 `tree:delta upsert_document` 更新 |
|
||
| 4 | task447 — 移动顺序双浏览器实时同步 | ✅ `tmp/tree-live-cache-smoke/20260516-task447-move-order/result.json` + 截图 | ✅ GREEN | Page Tree / File Tree 顺序通过 `tree:delta move_document` 更新为 A/C/B |
|
||
| 5 | task448 — resync 恢复双浏览器 | ✅ `tmp/tree-live-cache-smoke/20260516-task448-resync/result.json` + 截图 | ✅ GREEN | 多条 missed command 触发 `event: resync`,完整 snapshot 投影恢复 |
|
||
| 6 | task449 — SSE 重连恢复 | ✅ `tmp/tree-live-cache-smoke/20260516-task449-reconnect/result.json` + 截图 | ✅ GREEN | 断线后 EventSource 回连,snapshot 拉回最新,`liveStatus=connected` |
|
||
| 7 | task471 — local_folder 批量资源删除 | ✅ `tmp/reasonix-batch-a-browser-task471-2026-05-21/result.json` + 本轮 stdout | ✅ GREEN | Codex 本轮复跑通过,批量 archive 两个资源:`附件-a.txt`、`附件-b.json` |
|
||
| 8 | task476 — 文件树/编辑器上下文菜单+下载 | ✅ `tmp/task476-filetree-editor-context-menu-download-smoke/result.json` + 截图 | ✅ GREEN | Codex 使用 `/usr/bin/google-chrome-stable` 复跑通过,文件树 asset/多选/markdown/folder 下载均通过;编辑器附件菜单因附件不可见被标记为 blocked,不影响 FileTree 下载链路 |
|
||
| 9 | task487 — local_folder 树 live consumer 收敛 | ✅ `tmp/task487-local-folder-tree-live-consumer-smoke/result.json` + 截图 | ✅ GREEN | 全部 9 断言通过:`transport=local-folder-events`、`status=connected`、外部创建/删除后 `applied=resync` |
|
||
|
||
## 可用于人工网页核查的点
|
||
|
||
1. **task476**:FileTree asset 右键菜单缺 download 按钮。人工核查时在 Explorer 标签右键任何 PDF/图片/附件,检查是否有「Download」动作。
|
||
2. **task487**:local_folder 文档页 HTML `<html>` 上应看到 `data-mnote-tree-live-transport="local-folder-events"` + `data-mnote-tree-live-status="connected"`。
|
||
3. **task446-449**:双浏览器打开同一 workspace,A 端执行 rename/move/create/delete,B 端页面/文件树应无刷新更新。
|
||
4. **task432**:Trash 页面 create/archive/restore/purge/empty 在 B 端无导航刷新同步。
|
||
|
||
## 建议 Codex 复跑的 smoke
|
||
|
||
| Smoke | 复跑理由 | 命令 |
|
||
|-------|---------|------|
|
||
| task476 | 本轮已用系统 Chrome 复跑通过;后续只需在改动下载链路后回归 | `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task476-filetree-editor-context-menu-download-smoke.js` |
|
||
| task487 | 确认 local_folder tree live consumer 收敛回归不退化 | `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task487-local-folder-tree-live-consumer-smoke.js` |
|
||
| task431 | DnD readonly conflict smoke,属于 Phase A7 最终验收 | `PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/google-chrome-stable node scripts/task431-vscode-explorer-dnd-readonly-conflict-smoke.js` |
|
||
|
||
## 风险
|
||
|
||
1. **task476 浏览器选择差异**:`/snap/bin/chromium` 曾出现 `download.saveAs ENOENT`,但同一脚本用 `/usr/bin/google-chrome-stable` 复跑通过,判定为 Playwright 下载临时文件层噪音;后续 smoke 优先使用系统 Chrome。
|
||
2. **task487 脚本头部注释仍标 RED**:注释写 `STATUS: 🔴 RED (预期失败)` 但实跑已 GREEN。脚本头部注释需要更新,以免误导后续批次。
|
||
3. **task471 bulk trash 未测资源命名冲突**:批量删除后同名资源在当前批次无冲突场景测试。
|
||
4. **git diff 检查**:Codex 本轮已运行 `git diff --check`,无空白错误。
|