# Checklist: Side Pane Slash Overlay Isolation ## 目标 主编辑器 slash 菜单不得在侧栏/secondary pane 中出现;不支持侧栏打开资源时不得留下会响应 slash 的侧栏 editor host。 ## 允许修改 - `rust/crates/mnote-web/src/routes/web_shell.rs` - 必要时 `rust/spikes/leptos-tiptap-spike/src/lib.rs` - 相关测试 / smoke ## 禁止事项 - 不禁用主编辑器 slash 菜单。 - 不删除侧栏页面编辑能力。 - 不用全局 CSS 隐藏全部 slash menu 作为表面修复。 ## 待办 - [x] `positionSlashMenuForRoot` 只查当前 root 内菜单;不能 fallback 到全局第一个 slash menu。 - [x] `activeEditorRootForSlashMenu` 优先选择含有 selection/focus 的可见 root;secondary hidden/unsupported root 不参与。 - [x] 打开 unsupported side target 时彻底卸载 secondary view 并清理遗留 slash overlay。 - [x] 为 primary + secondary 同时存在时的 slash 隔离补测试。 - [x] 若 leptos runtime 自身生成全局 overlay,需要给 overlay 绑定 `data-pane-role` 或 editor host id。 ## 本轮执行记录 - 代码:`web_shell.rs` 增加 `setSlashMenuInactive` / `hideSlashMenusOutsideRoot`,非当前 selection/focus root 的 slash menu 会被标记 `data-mnote-slash-inactive` 并隐藏。 - 浏览器验证:`tmp/bug-20260521-workbench-browser-verify/result-slash.json`,`primaryMenus=1`、`secondaryMenus=0`、`inactiveSecondary=1`,截图 `05-slash-primary-secondary-isolation.png`。 ## 验收命令 ```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 ```