Files
mnote/.codex/reasonix-tasks/2026-05-21-batch-c-worker-a-resource-open-resolver.md
T

65 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.
# Batch C Worker AResource Open Resolver 最小收敛
项目根目录:`/mnt/Data1T/mnote`
你不是单独在代码库里工作,可能有其他 worker 并行执行。不要回滚、覆盖或格式化与你任务无关的文件;不要提交 git。
## 背景
Batch B 中 `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md` 仍未完成。当前重复判断主要涉及:
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- `buildLocalOnlyOfficeOpenUrl`
- `openEditorAttachmentEditTab`
- `openEditorAttachmentNewWindow`
- `openConvexAssetFromFileTree`
- `rust/crates/mnote-web/src/routes/web_shell.rs`
- `resolveResourceOpen`
本次优先只改 `layout.rs``scripts/task463-onlyoffice-resolver-smoke.js`,不要大重构。
## 目标
1. 审查正文附件和 FileTree asset 打开 office/resource 时的重复判断。
2. 如果安全,抽出最小 helper,使正文附件“弹窗编辑”与 FileTree active tab 打开共用同一套 local Office URL 构造或打开目标判断。
3. 保持现有行为:
- 正文附件“弹窗编辑”进入主编辑器 resource tab。
- 正文附件“新窗口编辑”进入浏览器新窗口。
- md/text/code 继续走 tiptap/text/code 渲染路径,不改成 OnlyOffice 或新窗口默认打开。
4. 更新 `5-26` checklist 的执行记录;通过后可勾选已完成项。
## 允许修改范围
- `rust/crates/mnote-web/src/ssr/pages/layout.rs`
- `scripts/task463-onlyoffice-resolver-smoke.js`
- `design/05-editor-mainline/process/5-26-resource-open-resolver-convergence-checklist-v1.md`
- 可新增 `.codex/reasonix-tasks/results/batch-c-worker-a-resource-open-resolver.md`
禁止修改:
- OnlyOffice callback / 保存链路
- `rust/crates/mnote-web/src/routes/web_shell.rs`,除非只改测试断言注释且非常必要
- 其它 worker ownership 文件
## 验收命令
```bash
cargo test --manifest-path rust/Cargo.toml -p mnote-web sidebar_tree_runtime_opens_office_assets_through_resource_shell -- --test-threads=1
node --check scripts/task463-onlyoffice-resolver-smoke.js
```
如果 `http://127.0.0.1:3000` 可用,再运行:
```bash
node scripts/task463-onlyoffice-resolver-smoke.js
```
## 输出要求
最终写入 `.codex/reasonix-tasks/results/batch-c-worker-a-resource-open-resolver.md`,包含:
- 修改文件列表。
- 实际收敛了哪些重复判断。
- 验证命令和结果。
- 未完成项和风险。