# 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-selected`、`data-focused` 指向新页面。 - 上传指定中文 docx 后浏览器不应卡死;resource tab 有明确打开状态或错误状态;刷新后不应要求重新登录才能恢复。 - Reasonix 输出独立浏览器测试证据,Codex 与本地验证对照。