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

1.9 KiB
Raw Blame History

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 逻辑。

验收命令

请至少运行:

cargo test -p mnote-web onlyoffice -- --test-threads=1

如果失败,记录失败原因和相关输出。

最终输出

在 final 中列出:

  • 修改文件
  • 关键实现点
  • 运行过的命令和结果
  • 未完成项或风险