Files
mnote/design/04-tree-domain/process/4-45-filetree-open-editors-lifecycle-link-checklist-v1.md
T

60 lines
4.1 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.
# 4-45 FileTree / Open Editors Lifecycle Link Checklist v1
> 状态:process
>
> 日期:2026-05-21
>
> Ownerfiletree action smoke / resource lifecycle observability
## 1. 目标
参考 Sidex Explorer + Open Editors 联动,补 MNote filetree action 与 open editor state 的可观测测试。当前优先修 smoke 缺口和文档状态,不直接改核心业务。
## 2. 允许修改范围
- `scripts/task430-vscode-explorer-stage7-smoke.js`
- `scripts/task471-local-folder-bulk-resource-trash-smoke.js`
- `design/04-tree-domain/process/4-44-filetree-action-layer-paste-drop-delete-v1.md`
- 如发现 checklist 已全部完成,可建议移动到 `done/`,但不要直接移动未验证文件。
## 3. 禁止事项
- 不修改 `layout.rs` / `web_shell.rs` / `local_folder_source.rs`
- 不改变 delete 默认到垃圾箱的语义。
- 不把环境准备失败伪装成通过。
## 4. Checklist
- [x] 跑或修复 `task430` / `task471` 的可复现前置条件。
- [x] 明确哪些 smoke 已过、哪些因环境阻塞。
- [x] 补充 open editor / filetree active row / lifecycle 状态断言建议。
- [x] 更新 4-44 checklist 执行记录。
## 5. 验收
- `node --check scripts/task430-vscode-explorer-stage7-smoke.js`
- `node --check scripts/task471-local-folder-bulk-resource-trash-smoke.js`
- `node scripts/task430-vscode-explorer-stage7-smoke.js`
- `node scripts/task471-local-folder-bulk-resource-trash-smoke.js`
## 6. 非目标
- 不实现完整 undo stack。
- 不改 cloud storage drop executor。
## 7. 本轮执行记录
- 2026-05-21Reasonix Worker D 识别到 `task430` 的前置问题:新注册用户在 `workspaces:fetchWorkspaceSummaries` 前可能还没有 workspace,需要先通过 `/api/tree/commands` create action 触发 workspace bootstrap。
- 2026-05-21Worker D 还建议将 `task471` 的验证记录同步到 `4-44`,并补 open editor / lifecycle 状态断言。
- 2026-05-21Worker D 进程停留在计划提交阶段,没有生成 `final.md`,也没有实际修改 smoke 或 checklist;本轮不把 4-45 checklist 标记为完成。
- **2026-05-22Worker A 实际修改:**
-`task430` 的 workspace bootstrap 添加 fallback:当 `workspaces:fetchWorkspaceSummaries` 无返回时,通过 `/api/tree/commands` create(不带 workspaceId)触发 Rust 端 `workspaces:ensureDefaultWorkspace` 自举 workspace。
- 添加 `result.phases` 阶段追踪(auth-signin → auth-navigate → workspace-bootstrap),让失败可区分环境阻塞 vs 业务回归。
- 添加 `filetree-active-row` 断言:检查当前打开页对应的 FileTree row 是否有 `[data-active="true"]`
- 添加 `filetree-selected-row` 记录:记录选中行 ID(不做强制断言,因选中语义随点击变化)。
- 添加 `open-editors-section` 记录:确认 MNote 当前无 Open Editors DOM sectionVS Code 对比的已知缺口),只记录不报错。
- 所有新增断言均使用 `runOptional` 包装,环境缺口标记为 skipped 而不阻塞整体结果。
- 2026-05-21Codex 独立复跑 `node --check scripts/task430-vscode-explorer-stage7-smoke.js` / `node scripts/task430-vscode-explorer-stage7-smoke.js`,结果 `ok:true``result.phases``auth-signin``auth-navigate``workspace-bootstrap` 均通过;`f2-inline-rename-doc``f2-inline-rename-asset``cut-paste-move``dnd-preflight-guard` 均通过。
- 2026-05-21Reasonix Browser Worker 复跑 task430,输出目录 `tmp/reasonix-batch-a-browser-task430-2026-05-21/`,结论 `PASS_WITH_KNOWN_GAPS`。已知缺口保留为:FileTree row 未同步 `data-active="true"`、Open Editors section 未实现、右键菜单缺 `Paste Into`、DnD readonly/重名冲突仍需后续端到端矩阵。
- 2026-05-21Codex 独立复跑 `node --check scripts/task471-local-folder-bulk-resource-trash-smoke.js` / `node scripts/task471-local-folder-bulk-resource-trash-smoke.js`,结果 `ok:true`。Reasonix Browser Worker 输出目录 `tmp/reasonix-batch-a-browser-task471-2026-05-21/`,确认两个 local folder 资源行可 Ctrl 多选、确认文案含 `2 个附件`、DOM 状态写入 `bulk-delete` / `archived``.mnote/trash-index.json` 包含两项。