Files
mnote/bugs/05-editor-mainline/process/5-9-c12-topbar-sidebar-toggle-noop-v1.md
T
2026-05-13 22:43:16 +08:00

4.1 KiB
Raw Blame History

5-9-C12 [process][bug] 文档页顶栏左上角切换侧栏按钮无效 v1

更新时间:2026-05-12

分类归属:

  • 05-editor-mainline/process
  • 对应体验主线:5-9 Wolai-aline continuous checklist

关联文档:

  • /mnt/Data1T/mnote/design/05-editor-mainline/process/5-9-wolai-aline-continuous-checklist-v1.md
  • /mnt/Data1T/mnote/design/05-editor-mainline/process/5-7-wolai-page-tree-main-editor-experience-restoration-v1.md
  • /mnt/Data1T/mnote/design/04-tree-domain/done/4-2-sidebar-pagetree-filetree-product-interaction-contract-v1.md

1. 问题定义

当前 3000 文档页顶部左上角的 切换侧栏 按钮可以被点击,但点击后左侧 sidebar 没有收起,再次点击也没有重新展开的状态变化。

这不是页面树节点的展开/折叠问题,而是文档页壳层的 sidebar shell toggle 缺失。

2. 归类理由

本问题归到 05-editor-mainline,而不是 04-tree-domain,理由如下:

  • 问题入口位于文档页顶栏,不在 page_tree/file_tree 行内交互层。
  • 问题影响的是页面壳、顶栏和侧栏显隐体验,属于 Wolai 页面树与主编辑器体验复刻 主线。
  • 04-tree-domain 更关注树 projection、row model、selection/focus、keyboard、DnD、tree command 等合同;本文问题不在这些运行时合同里。

3. 真实现象

复现路径:

  1. 打开 http://127.0.0.1:3000/auth
  2. 点击 测试账号快速登录
  3. 进入文档页后,点击顶栏左上角 切换侧栏
  4. 观察左侧 sidebar 是否收起
  5. 再点击一次,观察是否重新展开

实际结果:

  • 第 1 次点击后,左侧 sidebar 仍然完整可见
  • 第 2 次点击后,左侧 sidebar 仍然完整可见
  • 页面 URL 不变
  • 浏览器 console 未出现报错
  • 关键 network 未出现与 toggle 对应的新请求

期望结果:

  • 第 1 次点击应收起左侧 sidebar
  • 第 2 次点击应恢复展开
  • 行为应与 Wolai / 常规文档页壳的 sidebar toggle 一致

4. 证据

截图证据:

  • 切换前:/mnt/Data1T/mnote/tmp/hermes-tester/manual-before-toggle.png
  • 点击一次后:/mnt/Data1T/mnote/tmp/hermes-tester/manual-after-toggle.png
  • 点击两次后:/mnt/Data1T/mnote/tmp/hermes-tester/manual-after-second-toggle.png

Hermes tester 首轮取证:

  • /mnt/Data1T/mnote/tmp/hermes-tester/first-run/screenshots/01-auth-entry.png
  • /mnt/Data1T/mnote/tmp/hermes-tester/first-run/screenshots/02-after-quick-login.png

窄范围侧栏取证:

  • /mnt/Data1T/mnote/tmp/hermes-tester/sidebar-run/01-auth.png
  • /mnt/Data1T/mnote/tmp/hermes-tester/sidebar-run/02-after-login-before-toggle.png

代码锚点:

  • 顶栏按钮渲染位于 /mnt/Data1T/mnote/rust/crates/mnote-web/src/ssr/pages/layout.rs:3938
  • 当前仅能找到按钮渲染与样式,未看到对应的显隐切换绑定:
    • /mnt/Data1T/mnote/rust/crates/mnote-web/src/ssr/pages/layout.rs:3938
    • /mnt/Data1T/mnote/rust/crates/mnote-web/src/ssr/styles.rs:1940

5. 当前判断

当前更像是:

  • 顶栏按钮已经进入 SSR 页面壳
  • sidebar open/collapsed 状态未接线
  • 或按钮没有绑定到实际的 sidebar toggle handler

也就是说,这是一条“控件已渲染,但未驱动真实状态”的缺陷,而不是视觉误差。

6. 建议完成方式

完成本缺陷至少需要满足下面四条:

  1. 顶栏 切换侧栏 按钮绑定真实的 sidebar toggle 状态
  2. 第 1 次点击后 sidebar 收起
  3. 第 2 次点击后 sidebar 再展开
  4. 增补可回归 smoke,覆盖:
    • 登录后点击 toggle
    • 收起态存在明确 DOM/样式状态
    • 再次点击后恢复展开

建议验收同时包含:

  • 代码验证:相关 Rust SSR / 前端状态接线
  • 浏览器 smoke:真实点击与状态断言
  • 截图复核:收起前 / 收起后 / 再展开后三张图

7. 流转条件

当前状态:process

只有在以下条件都满足后,本文才能移动到 bugs/05-editor-mainline/done/

  1. 真实代码已修复
  2. smoke 已覆盖且通过
  3. 浏览器复测确认收起/展开都生效
  4. 证据路径已补齐到修复后的截图或日志