Files
mnote/.codex/reasonix-tasks/2026-05-21-worker-e-slash-side-pane-isolation.md
T

49 lines
1.8 KiB
Markdown
Raw Normal View History

2026-05-21 05:40:06 +08:00
# Reasonix Worker E: Slash Menu Side Pane Isolation
Project root: `/mnt/Data1T/mnote`
## 背景
用户报告:虽然侧栏打开不支持,但在主栏打开 slash 菜单时,侧栏也出现一个 slash 菜单。
事实源:
- Review: `bugs/05-editor-mainline/process/2026-05-21-workbench-filetree-office-slash-bugs-review-v1.md`
- Checklist: `bugs/05-editor-mainline/process/5-31-side-pane-slash-overlay-isolation-v1.md`
## Ownership
你负责:
- `rust/crates/mnote-web/src/routes/web_shell.rs` 中 slash menu root 选择、定位、secondary unsupported cleanup
- 必要时 `rust/spikes/leptos-tiptap-spike/src/lib.rs` 中 overlay data 属性/host 绑定
- 相关 tests
不要修改 Office、右键菜单、文件树 trash、默认 workspace、ACP/Hermes 文件。你不是独自在代码库中工作;不要回滚、覆盖、格式化或清理其他 worker 的改动。不要提交 git。
## 任务
1. `positionSlashMenuForRoot(root)` 只能定位当前 root 内的 slash menu;不能 fallback 到全局第一个 slash menu。
2. `activeEditorRootForSlashMenu()` 只选择可见且含 selection/focus 的 editor roothidden / unsupported secondary root 不应参与。
3. 打开 unsupported side target 时清理 secondary pane 遗留的 slash overlay。
4. 补字符串测试或 Rust 单测,明确覆盖“不使用全局 slash menu fallback”。
## 验证
至少运行:
```bash
cd /mnt/Data1T/mnote/rust
cargo test -p mnote-web document_shell_runtime_renders_resource_tab_runtime -- --test-threads=1
cargo test -p mnote-web document_shell_runtime_positions_slash_menu_per_editor_host -- --test-threads=1
```
如果第二个测试不存在,请新增相近测试并运行。
## 最终回复格式
- 修改文件列表
- 完成的 checklist 项
- 运行过的命令和结果
- 未完成项/风险