# 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 与本地验证对照。
