Files
mnote/bugs/05-editor-mainline/done/2026-05-21-tab-office-upload-browser-bugs-review-v1.md
lix-2026 eba1010191 fix local office resource editing
- 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
2026-05-21 05:40:06 +08:00

3.7 KiB

Tab / Office / Upload Browser Bugs Review V1

日期:2026-05-21

范围

本轮覆盖用户继续反馈的 4 类缺陷:

  1. 主 resource tab 激活后,点击左侧主 Markdown 文件或新建页面,不能切回主 Markdown page tab。
  2. 左侧新建页面后,文件树焦点/选中没有落到新建页面。
  3. 真实中文名 docx 上传后仍打不开:/home/lix/Downloads/重庆发展特殊化妆品可行性报告_政府汇报版.docx
  4. 上传文件偶发浏览器卡死,刷新无效但文件实际已上传;怀疑中文文件名、中文符号、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 链路异常,当前需要确认是否只是打开失败,还是上传后插入/刷新/资源行追加链路导致页面失去响应。
  • 之前浏览器测试只验证到 /onlyoffice iframe 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 切回”。
  • 新建页焦点:
    • 增加 filetree 选择 helper,按 documentId 选中并聚焦 doc:{documentId} 行。
    • createPage 在 local_folder 下先刷新 sidebar projection,再选中新页面,再导航。
    • document pane primary 切换后派发 mnote:primary-document-activated,由 sidebar runtime 同步 selection state。
  • 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-selecteddata-focused 指向新页面。
  • 上传指定中文 docx 后浏览器不应卡死;resource tab 有明确打开状态或错误状态;刷新后不应要求重新登录才能恢复。
  • Reasonix 输出独立浏览器测试证据,Codex 与本地验证对照。