3.1 KiB
5-26 Resource Open Resolver Convergence Checklist v1
状态:process
日期:2026-05-21
Owner:resource open resolver / attachment and filetree open targets
1. 目标
继续参考 Sidex 的 editor input resolver 思路,把 MNote 正文附件、FileTree asset、side target、new-window 的资源打开策略收敛到更一致的 resolver 合同。
2. 允许修改范围
rust/crates/mnote-web/src/ssr/pages/layout.rsrust/crates/mnote-web/src/routes/web_shell.rs仅限提出 patch 建议,默认不直接修改,避免与 5-24/5-25 冲突。scripts/task463-onlyoffice-resolver-smoke.js
3. 禁止事项
- 不改变文件树当前已验证可用的 edit-mode active tab 行为。
- 不把 md/text/code 改成 OnlyOffice 或浏览器新窗口默认打开。
- 不把 resource kind 判断散回多个 UI 分支。
4. Checklist
- 审查
buildLocalOnlyOfficeOpenUrl、openEditorAttachmentEditTab、openConvexAssetFromFileTree与resolveResourceOpen的重复判断。 - 给出最小收敛方案:提取
openLocalOfficeFileInActiveTab(detail, mode)helper,收敛openEditorAttachmentDetail和openEditorAttachmentEditTab中的重复 local Office 打开分支。 - 只改
layout.rs:新增 helper + 简化两个调用方,不改task463(当前 smoke 和 Rust 单测已覆盖分流行为)。 - 补 smoke 或断言,覆盖正文附件
弹窗编辑与新窗口编辑分流。
5. 验收
cargo test -p mnote-web sidebar_tree_runtime_opens_office_assets_through_resource_shell -- --test-threads=1node scripts/task463-onlyoffice-resolver-smoke.js
6. 非目标
- 不引入新的 editor service 层。
- 不改 OnlyOffice callback 写回链路。
7. 本轮执行记录
-
2026-05-21:Reasonix Worker C 对照了
openConvexAssetFromFileTree、openEditorAttachmentDetail、openEditorAttachmentNewWindow、openEditorAttachmentEditTab的重复 local Office 打开分支,并提交了“新增openLocalOfficeFileInActiveTab辅助函数”的计划。 -
2026-05-21:Worker C 进程停留在计划提交阶段,没有生成
final.md,也没有实际修改layout.rs/task463;本轮不把 5-26 checklist 标记为完成。 -
后续建议:若继续推进 5-26,应先用 Codex 本地复核 helper 边界,再小步改
layout.rs,重点保持“正文附件弹窗编辑进 main resource tab、正文附件新窗口编辑进浏览器窗口、md/text/code 继续走 tiptap”三条已验证行为不回退。 -
2026-05-22:Batch D Worker A 实际执行:
- 在
buildLocalOnlyOfficeOpenUrl之后新增openLocalOfficeFileInActiveTab(detail, mode)async helper。 - 简化
openEditorAttachmentDetaillocal Office 分支为 helper 调用。 - 简化
openEditorAttachmentEditTablocal Office 分支由 ~25 行缩减为 1 行 helper 调用。 - 更新测试断言为检查
openLocalOfficeFileInActiveTab(detail, 'edit')。 openConvexAssetFromFileTree保持不动(含 forceNewWindow/mindmap 等分支)。
- 在
-
三条已验证行为保留:弹窗编辑→main resource tab、新窗口编辑→浏览器窗口、md/text/code→tiptap。