- 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
3.7 KiB
3.7 KiB
Tab / Office / Upload Browser Bugs Review V1
日期:2026-05-21
范围
本轮覆盖用户继续反馈的 4 类缺陷:
- 主 resource tab 激活后,点击左侧主 Markdown 文件或新建页面,不能切回主 Markdown page tab。
- 左侧新建页面后,文件树焦点/选中没有落到新建页面。
- 真实中文名 docx 上传后仍打不开:
/home/lix/Downloads/重庆发展特殊化妆品可行性报告_政府汇报版.docx。 - 上传文件偶发浏览器卡死,刷新无效但文件实际已上传;怀疑中文文件名、中文符号、Office 打开链路或上传后插入编辑器引发卡住。
当前初步判断
navigateToDocument在当前文档 ID 相同的路径上只更新树行状态,不会调用 resource tab runtime 切回 page tab。因此当前 page 已经是同一 Markdown 时,点击左侧文件树会停留在 resource tab。openPrimaryDocument替换 primary pane 后未显式调用activateMainEditorTab(''),从 resource tab 导航到其他 Markdown 页面时也可能仍显示 resource host。createPage创建成功后直接navigateToDocument,没有等待 local folder projection 刷新,也没有把 filetree selection state 的selectedRowIds/focusedRowId指向新页面。- 上传 Office 附件后
insertUploadedAssetIntoEditor会同步构造 OnlyOffice 链接并拉取whoami,若 DocumentServer 或 iframe 链路异常,当前需要确认是否只是打开失败,还是上传后插入/刷新/资源行追加链路导致页面失去响应。 - 之前浏览器测试只验证到
/onlyofficeiframe URL 和 resource tab 状态,未完整验证 DocumentServer 内部是否报errorCode=-18;本轮需要抓 iframe/console/network 证据。
修改策略
- Tab 切回:
- 在 document pane runtime 暴露
activatePageTab()。 openPrimaryDocument成功后强制切回 page tab。navigateToDocument的 same-document fast path 也调用activatePageTab(),解决“点击当前主 md 不能从 resource tab 切回”。
- 在 document pane runtime 暴露
- 新建页焦点:
- 增加 filetree 选择 helper,按 documentId 选中并聚焦
doc:{documentId}行。 createPage在 local_folder 下先刷新 sidebar projection,再选中新页面,再导航。- document pane primary 切换后派发
mnote:primary-document-activated,由 sidebar runtime 同步 selection state。
- 增加 filetree 选择 helper,按 documentId 选中并聚焦
- Office / 上传:
- 用真实中文 docx 做浏览器测试,记录上传 API、resource tab、iframe src、OnlyOffice 页面错误。
- 若出现卡死,优先让上传链路避免等待非关键插入/打开操作;上传完成后 UI 不应被 OnlyOffice whoami/iframe 初始化阻塞。
- 需要区分“DocumentServer 内部连接失败”和“MNote 浏览器卡死”两类问题,不混为同一个修复。
- Reasonix 测试流程:
- 新增
/home/lix/.codex/skills/reasonix-browser-tester/SKILL.md。 - 本轮派发 Reasonix 独立浏览器测试任务,Codex 只复核其
result.json和截图。
- 新增
不做事项
- 不回滚现有 ACP/Hermes 改动。
- 不把 Office 改成下载兜底作为唯一行为。
- 不把 Reasonix 测试结论当成事实源;必须复核截图和结构化日志。
- 不清理用户已有上传文件或真实工作区文件。
验收
- 点击 page tab / 左侧当前 Markdown / 左侧其他 Markdown,都能从 resource tab 回到主 Markdown page tab。
- 左侧新建页面后,URL、page tab 标题、filetree
data-selected、data-focused指向新页面。 - 上传指定中文 docx 后浏览器不应卡死;resource tab 有明确打开状态或错误状态;刷新后不应要求重新登录才能恢复。
- Reasonix 输出独立浏览器测试证据,Codex 与本地验证对照。