1.9 KiB
1.9 KiB
5-21 Editor Tab URL / Active Row / Canonical Identity Checklist v1
状态:process
日期:2026-05-20
Owner:主编辑区 tab runtime / sidebar active state / resource identity
1. 目标
在 P0 清零后推进相邻 P1:resource tab 激活目前主要改 DOM 状态,不稳定同步 URL、sidebar active row 与 canonical identity。先做轻量收口,让用户在 resource tab / page tab 之间切换时有可测试的 active resource 状态。
2. 允许修改范围
rust/crates/mnote-web/src/routes/web_shell.rsrust/crates/mnote-web/src/ssr/pages/layout.rsscripts/task457-main-editor-resource-tab-smoke.js- 可新增聚焦 smoke
3. 禁止事项
- 不实现 tab 持久化恢复。
- 不改变 Page Aggregate / local Markdown 事实源。
- 不实现完整 side group。
4. Checklist
- resource tab 使用统一 canonical identity,优先
resource:file:<rootUri>:<path>。 - 激活 resource tab 时写入可测试 URL state 或 history state,不触发整页导航。
- 切回 page tab 时清除 active resource state。
- sidebar file tree 对应 resource row 能显示 active 状态或至少暴露稳定 DOM 标记。
- page tab / resource tab 切换后不会卡死在 resource tab,
task457继续覆盖。
5. 验收
node --check scripts/task457-main-editor-resource-tab-smoke.jsnode scripts/task457-main-editor-resource-tab-smoke.jscargo test -p mnote-web web_shell -- --test-threads=1
5.1 本轮执行记录
- 已合入:resource tab 激活时写入
resourceTab=<canonical identity>URL state,切回 page tab 或关闭全部资源 tab 时清除。 - 已合入:对应 filetree row 已渲染时只设置
data-active=true,不污染data-selected多选状态。 - 已验证:
task457覆盖 resource tab、Office tab、new-window、关闭回退和 URL state 清理。
6. 非目标
- 不做跨刷新恢复。
- 不做多 editor group。