Files
mnote/.codex/reasonix-tasks/2026-05-21-worker-b-office-edit-menu-guard.md
T
lix-2026 eba1010191 fix local office resource editing
- add local-folder OnlyOffice sign/callback writeback and edit-tab handling

- align main resource tabs, attachment edit menu, slash isolation, and filetree context behavior

- record Sidex/Hermes gap reviews and Reasonix task checklists
2026-05-21 05:40:06 +08:00

69 lines
2.4 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.
# Reasonix Worker BOffice 编辑模式菜单与 guard
你是编码 worker,不是审查员。你不独占代码库,可能有其他 worker 同时修改不同文件;不要回滚、覆盖或清理他人的改动。
## Project Root
`/mnt/Data1T/mnote`
## 背景
详见:
- `bugs/05-editor-mainline/process/2026-05-21-office-edit-sign-plugin-gap-review-v1.md`
- `bugs/05-editor-mainline/process/5-35-office-edit-mode-menu-and-guard-v1.md`
产品口径:Office 默认只读打开;三点菜单增加“使用编辑模式打开”。当前 local-folder edit/save callback 没有完整闭环,因此编辑入口不能表现成默认可保存功能。
## Ownership
你负责:
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- 与 layout JS 字符串相关的 `mnote-web` 单测
- 更新 `bugs/05-editor-mainline/process/5-35-office-edit-mode-menu-and-guard-v1.md` 的本轮执行记录
不要修改:
- `rust/crates/mnote-web/src/routes/onlyoffice.rs`
- `rust/crates/mnote-web/src/routes/media.rs`
- ACP / Hermes 相关文件
## 任务
1. 确认 Office 默认打开路径使用 `mode=view`,尤其是 local uploaded asset 和编辑器附件点击。
2. 在正文附件三点菜单中增加“使用编辑模式打开”。
3. 在文件树 Office asset 右键菜单中增加“使用编辑模式打开”。
4. 点击编辑入口时打开 `mode=edit` 的 OnlyOffice URL。
5. 如果保存闭环未完成,给编辑入口增加 guard:
- 可以用 `window.confirm` 或明确状态标记提示“编辑保存仍在实验中,建议先备份文件”;
- 必须便于浏览器测试识别,例如设置 `data-mnote-last-office-edit-mode-requested="true"``data-mnote-last-office-edit-mode-guard="shown"`
## 设计约束
- 不默认 edit。
- 不承诺保存已闭环。
- 不影响 md/text/code 附件继续走 tiptap 渲染 / 编辑路径。
- 尽量复用现有 `buildLocalOnlyOfficeOpenUrl``buildOnlyOfficeOpenUrl``openConvexAssetFromFileTree` 等函数。
## 验收命令
请至少运行:
```bash
cargo test -p mnote-web sidebar_tree_js -- --test-threads=1
cargo test -p mnote-web onlyoffice -- --test-threads=1
```
如果失败,记录失败原因和相关输出。
## 最终输出
在 final 中列出:
- 修改文件
- 菜单项位置与 action 名称
- 默认 view 与显式 edit 的实现点
- 运行过的命令和结果
- 未完成项或风险