Files
mnote/.codex/reasonix-tasks/2026-05-21-worker-a-office-local-sign-contract.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

63 lines
1.9 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 AOnlyOffice local-folder 不再误请求 media/sign
你是编码 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-34-local-folder-media-sign-office-url-contract-v1.md`
当前 `/onlyoffice` 页面只要有 `assetId` 就请求 `/api/media/sign`。local-folder asset 形如 `local:asset:<path>`,本来应直接使用传入的 local open `fileUrl`,因此这个请求会产生误导性的 404。
## Ownership
你负责:
- `rust/crates/mnote-web/src/routes/onlyoffice.rs`
- 与 above 契约直接相关的 `mnote-web` 单测
- 更新 `bugs/05-editor-mainline/process/5-34-local-folder-media-sign-office-url-contract-v1.md` 的本轮执行记录
不要修改:
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- ACP / Hermes 相关文件
- git 状态无关文件
## 任务
1.`/onlyoffice` 页面识别 local-folder asset / local fileUrl,并在这种情况下跳过 `/api/media/sign`
2. 保持非 local asset 仍可请求 `/api/media/sign`
3. 保持 doc key 安全化,不引入 `/``:`、中文等危险字符。
4. 补或调整单测,确保页面脚本包含该判断。
## 设计约束
- local 判断应保守:优先基于 `assetId` 前缀 `local:` / `local-file:`,以及 `fileUrl` path 为 `/api/local-folder/files/open`
- 不要把 `/api/media/sign` 改成本地文件签名端点。
- 不要改变 callback 或 edit/save 逻辑。
## 验收命令
请至少运行:
```bash
cargo test -p mnote-web onlyoffice -- --test-threads=1
```
如果失败,记录失败原因和相关输出。
## 最终输出
在 final 中列出:
- 修改文件
- 关键实现点
- 运行过的命令和结果
- 未完成项或风险