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

57 lines
5.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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`,无空白错误。