Files
mnote/.codex/reasonix-tasks/results/batch-h-worker-c-browser-smoke-evidence.md
T

57 lines
5.5 KiB
Markdown
Raw Normal View History

2026-05-21 23:53:39 +08:00
# 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**:双浏览器打开同一 workspaceA 端执行 rename/move/create/deleteB 端页面/文件树应无刷新更新。
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`,无空白错误。