2.4 KiB
2.4 KiB
Batch C Worker A:Resource 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.rsbuildLocalOnlyOfficeOpenUrlopenEditorAttachmentEditTabopenEditorAttachmentNewWindowopenConvexAssetFromFileTree
rust/crates/mnote-web/src/routes/web_shell.rsresolveResourceOpen
本次优先只改 layout.rs 和 scripts/task463-onlyoffice-resolver-smoke.js,不要大重构。
目标
- 审查正文附件和 FileTree asset 打开 office/resource 时的重复判断。
- 如果安全,抽出最小 helper,使正文附件“弹窗编辑”与 FileTree active tab 打开共用同一套 local Office URL 构造或打开目标判断。
- 保持现有行为:
- 正文附件“弹窗编辑”进入主编辑器 resource tab。
- 正文附件“新窗口编辑”进入浏览器新窗口。
- md/text/code 继续走 tiptap/text/code 渲染路径,不改成 OnlyOffice 或新窗口默认打开。
- 更新
5-26checklist 的执行记录;通过后可勾选已完成项。
允许修改范围
rust/crates/mnote-web/src/ssr/pages/layout.rsscripts/task463-onlyoffice-resolver-smoke.jsdesign/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 文件
验收命令
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 可用,再运行:
node scripts/task463-onlyoffice-resolver-smoke.js
输出要求
最终写入 .codex/reasonix-tasks/results/batch-c-worker-a-resource-open-resolver.md,包含:
- 修改文件列表。
- 实际收敛了哪些重复判断。
- 验证命令和结果。
- 未完成项和风险。