Files
mnote/bugs/04-tree-domain/done/4-43-sidebar-duplicate-migrate-to-tree-commands-v1.md
lix-2026 46ede5e251 08 定向 Bug Hunt + 架构文档刷新
## 08 定向 Bug Hunt(3.5)

- Bug 1: 侧栏「复制页面」从 `/api/documents/duplicate` 迁移到
  `copyTreeCommand()` → `/api/tree/commands`(`tree.subtree.copy`)
- Bug 2: 侧栏「清空垃圾箱」标注 TODO,等待 Rust `tree.trash.empty`
- Bug 3: 文档页「应用模板」标注 TODO,等待 Rust `tree.page.template`
- Bug 4: 删除 `createChildDocumentCommand` 死代码(函数 + 类型 + 旧
  Next.js `/api/documents/create-child` 路由)
- 归档 4 份 bug 文档到 `bugs/04-tree-domain/done/` 和
  `bugs/05-editor-mainline/done/`

## 架构文档刷新

- ARCHITECTURE.md: MVP 状态标记、三层树模型(§6.4)、8.4 AI 方向按 7-14 v2
  修正、新增 8.5 定向 Bug Hunt 节、刷新 §5 和 §9 卡点描述
- AGENTS.md: 匹配 ARCHITECTURE.md 的 AI 方向和三层模型口径
- 08 checklist: 标记 7-14 v2 影响(Phase A/B/C 重命名、新增 9 项 checklist)

关联设计稿: 7-14 v2, 08
2026-05-16 23:48:41 +08:00

924 B
Raw Permalink Blame History

4-43 [done] 侧栏「复制页面」从 /api/documents/duplicate 迁移到 /api/tree/commands

更新时间:2026-05-16

状态:done

问题

sidebar.tsx:924handleDuplicateDocument 直接 fetch("/api/documents/duplicate"),走旧 Next.js compat 路由,不经过 Rust tree command 链,不生成 tree domain event。

修复

改为调用 tree-command-client.ts 中已有的 copyTreeCommandPOST 到 /api/tree/commands,使用 action: "copy" + Rust tree.subtree.copy 命令。

证据

  • wolai-frontend/src/components/sidebar/sidebar.tsxhandleDuplicateDocument 改为 copyTreeCommand({ targetParentId: null, items: [{ documentId: node.id, recursive: true }] })
  • wolai-frontend/src/components/sidebar/sidebar.tsximport 新增 copyTreeCommand
  • 验证:单页面复制后 /api/tree/commands 应收到 action: "copy",不走 /api/documents/duplicate