Files
mnote/bugs/old/05-editor-mainline/process/2026-07-08-browser-qa-workspace-sidebar-findings.md
T
Agent Board b798f628ee chore: land tree view-state, vault, Pi module split, and repo hygiene
Persist PageTree expand state via control-plane view-state and align
chevron/DOM with restored expansion; keep Sidex-style shallow page-tree
scan and drop the unused recursive scanner that only added cargo noise.

Add password vault workbench routes/runtime/skill/CLI, split page_ai_pi
into a module package, and retire Hermes/ACP/OpenHub recycle + root
harness evidence from the index while gitignoring recycle and local
diag dumps.

Archive superseded design/bugs docs under old/, point architecture at
ARCHITECTURE.md, and refresh smokes for Pi S1–S7, vault, and editor
regressions so the working tree can stay clean.
2026-07-21 05:13:05 +08:00

5.3 KiB
Raw Blame History

[recycle] MNote 浏览器 QA 实测发现 2026-07-08

  • 状态process
  • 来源Agent Board Pi Taskflow 实测(MNote 浏览器 QA → Bug 文档 20260708-130503
  • 复现环境
    • MNote Webhttp://127.0.0.1:3000Rust SSR + leptos-tiptap island
    • 后端:control-plane libSQL local
    • 浏览器:Playwright Chromium headlessviewport 1280×800
    • 登录:测试账号 mnote.e2e@example.comauthMode=controlPlaneSession
    • 工作区:/mnt/Data1T/Mnote_data/users/mnote-e2e/workspaces/my-space

1. 总体状态

检查项 结果 详情
API Gateway /health PASS 200
Auth 页面加载 PASS 518ms
测试账号快速登录 PASS 跳转到 /
Workspace 壳渲染 PASS sidebar / topbar / shell 均可见
Page AI / OpenHub 页面 PASS 130ms 加载,AI 输入框可见
Console 错误 PASS 0 errors
业务网络错误 PASS 0 real errorsSSE abort 为预期导航行为)

2. 发现的问题

2.1 file-order.json 页面排序索引为空

  • 严重程度medium
  • 实际结果/mnt/Data1T/Mnote_data/users/mnote-e2e/workspaces/my-space/.mnote/file-order.json 内容为 {"parents": {}, "version": 1},无任何页面条目。
  • 预期结果:工作区中存在有效页面目录(新页面054900新页面145827新页面233155有机合成中的保护基 等),每个目录下均有 .md 正文文件,file-order.json 应包含这些页面的排序条目。
  • 证据
    $ cat .mnote/file-order.json
    {"parents": {}, "version": 1}
    
    $ ls workspace/
    新页面054900/  新页面145827/  新页面233155/  有机合成中的保护基/
    
  • 影响范围:页面树(Page Tree)排序可能不正确,新建页面可能无法正确出现在侧边栏页面列表中。
  • 建议修复方向:检查页面创建/重命名/移动流程是否正确更新 file-order.json;检查 Pi lab 批量创建页面的流程是否绕过了正常的 metadata 写入路径。

2.2 /api/tree/page-tree 端点返回 404

  • 严重程度low
  • 实际结果GET /api/tree/page-tree 返回 HTTP 404。
  • 预期结果:应返回 200 或 401(需要认证),而非 404。
  • 证据
    $ curl -s -w "\nHTTP: %{http_code}" http://127.0.0.1:3000/api/tree/page-tree
    HTTP: 404
    
  • 影响范围:直接调用此 API 的外部客户端或测试脚本会失败。前端使用 GET /api/tree/view-state?treeKind=pagetree(需要认证,已正常工作),当前不受影响。
  • 建议修复方向:确认 /api/tree/page-tree 是否为已废弃路由;若是,应在路由注册时返回 410 Gone 或转发到 view-state;若不是,应修复路由注册。

2.3 侧边栏中无 a[href*="/document/"] 格式的文档链接

  • 严重程度low(待确认是否为预期行为)
  • 实际结果Playwright selector a[href*="/document/"] 在侧边栏中找到 0 个元素。
  • 预期结果:侧边栏页面树中的页面应可点击跳转到文档页。
  • 证据QA 脚本 page.locator('a[href*="/document/"]').count() 返回 0。
  • 影响范围:如果页面确实使用不同 URL 模式(如 /page/... 或前端路由),则无影响;否则侧边栏页面无法点击跳转。
  • 建议修复方向:确认当前侧边栏页面树使用的链接格式;如果是前端 SPA 路由(如 data-page-id + click handler),则更新测试 selector;如果是 bug,修复链接生成。

2.4 Dev 模式 hot-reload 轮询累积

  • 严重程度low(仅 dev 模式)
  • 实际结果:多个 GET /api/dev/hot-reload 请求处于 pending 状态,随时间累积。
  • 预期结果hot-reload 连接应复用或及时关闭,不应无限累积。
  • 证据:网络追踪显示 20+ 个 pending 的 GET /api/dev/hot-reload 请求。
  • 影响范围:仅影响开发模式下的浏览器性能和内存占用,不影响生产环境。
  • 建议修复方向:检查 hot-reload EventSource/WebSocket 连接的生命周期管理,确保旧连接在页面导航或重连时正确关闭。

3. 已验证无问题的路径

  • Auth 登录流程:正常
  • Workspace 壳渲染:正常
  • Page AI / OpenHub 页面:正常加载
  • API /api/auth/session:正常
  • API /api/tree/view-state(需认证):正常
  • API /api/tree/projections/file/children(需认证):正常
  • SSE /api/local-folder/events:正常建立连接
  • API /api/page-ai/pi/status:正常
  • API /api/ai-settings/effective:正常

4. 测试脚本

QA 脚本位于:

  • /tmp/mnote-browser-qa-20260708.js(基础检查)
  • /tmp/mnote-browser-qa-20260708-detail.js(详细检查)
  • /tmp/mnote-browser-qa-comprehensive.js(综合检查)
  • /tmp/mnote-network-trace.js(网络追踪)

结果文件:

  • /tmp/mnote-browser-qa-20260708/result.json
  • /tmp/mnote-browser-qa-20260708/result-detail.json
  • /tmp/mnote-browser-qa-20260708/result-final.json

截图:

  • /tmp/mnote-browser-qa-20260708/01-main-page.pngAuth 页)
  • /tmp/mnote-browser-qa-20260708/02-after-login.png(登录后 workspace
  • /tmp/mnote-browser-qa-20260708/05-post-login-workspace.pngworkspace 页)