- 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
2.1 KiB
2.1 KiB
Checklist: Office Chinese Docx Upload Open Freeze
目标
上传并打开中文文件名 docx 时,浏览器不应卡死;Office 打开失败时必须是可见、非阻塞错误。
指定测试文件:
/home/lix/Downloads/重庆发展特殊化妆品可行性报告_政府汇报版.docx
允许修改
rust/crates/mnote-web/src/routes/local_folder_source.rsrust/crates/mnote-web/src/routes/onlyoffice.rsrust/crates/mnote-web/src/ssr/pages/layout.rs- 相关 browser smoke
禁止事项
- 不引入新外部服务。
- 不把 docx 只做下载兜底。
- 不清理用户真实下载文件。
待办
- 用真实中文 docx 复现上传、插入附件、点击打开、OnlyOffice iframe 内错误。
- 记录 console/network/iframe src/页面响应性。
- 区分 DocumentServer
errorCode=-18与浏览器主页面卡死。 - 上传完成后不得等待非关键 Office 初始化;上传链路必须释放 UI。
- 对中文文件名/URL 编码和 OnlyOffice document key 安全化补测试。
- 增加 Reasonix clean browser 测试流程,并用截图交叉验证。
验收命令
cd /mnt/Data1T/mnote/rust
cargo test -p mnote-web -- --test-threads=1
node scripts/task463-onlyoffice-resolver-smoke.js
验证记录
cargo test -p mnote-web onlyoffice -- --test-threads=1:12 passed。cargo test -p mnote-web -- --test-threads=1:482 passed。- Reasonix clean browser 测试输出:
/mnt/Data1T/mnote/tmp/reasonix-office-upload-open-clean-2026-05-21/result.json,结论pass。 - Reasonix 最终截图:
/mnt/Data1T/mnote/tmp/reasonix-office-upload-open-clean-2026-05-21/04-final-state.png,可见 OnlyOffice 文档正文。 - Codex 自测输出:
/mnt/Data1T/mnote/tmp/codex-office-upload-open-clean-2026-05-21/result.json。 - Codex 最终截图:
/mnt/Data1T/mnote/tmp/codex-office-upload-open-clean-2026-05-21/codex-office-final.png,可见 OnlyOffice 文档正文。 - 已确认 WebSocket URL 使用安全 doc key,例如
mnote_1258170954_1240121036,不含/、:或中文字符;未出现errorCode=-18。