Files
Jyotisha/docs/testing/sidebar-unify-20260916.md
T
Jesse_ChenandClaude Fable 5.1 22edabbcd3 docs(tasks): 侧栏统一进度记录、BUG-744~746、真机清单与 CHANGELOG
`PROGRESS-sidebar-unify-20260916.md` 记基线与改后的 tsc / lint / 测试总数 /
失败清单 diff / 五个路由标记 / gzip,逐条列改过的既有断言、触发的让步顺序
(T5 第 1 条)、次级页体积增加的原因,以及无 Chrome 无登录态的环境缺口。
`docs/testing/sidebar-unify-20260916.md` 是七组可照做的真机条目。
状态板本单一行改「待验收」,执行分支 `codex/sidebar-unify-20260916`。

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0193vBv6w5MV2cifdTUu9H5P
2026-09-16 11:23:43 +00:00

78 lines
5.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 真机清单 · 侧栏统一 + 次级页共享外壳 + 跳转不整页刷新(2026-09-16
对应任务书 `TASK-sidebar-unify-20260916.md`、进度记录 `PROGRESS-sidebar-unify-20260916.md``BUG-744` / `BUG-745` / `BUG-746`
下面每一条自动化做不了:都需要**浏览器 + 已登录账号**。执行环境无 Chrome、无登录态,因此这些是环境缺口,不是「已通过」。
准备:桌面 Chrome,宽度 ≥ 1024px,登录后至少有 3 段对话(其中 1 段已收藏)。开 DevTools → Network,勾上 `Preserve log`,筛选框留空。
## A · 跳转不再整页刷新(BUG-745 ①)
1. 停在 `/`Network 面板 Clear。
2. 点侧栏「星盘」。
- **期望**:地址栏变 `/chart`Network 里 **没有** Type = `document` 的请求(只有 `fetch/xhr``script`)。
- **不期望**:整页白一下、Network 顶部出现一条 `chart` 的 document 请求。
3. 同样点「星历」「我的报告」各一次,各自确认无 document 请求。
4. 点侧栏「新建对话」回 `/`,确认同样没有 document 请求。
## B · 四个页面之间不重拉会话列表(BUG-745 ②③)
1. 停在 `/chart`Network Clear,筛选框输入 `api/`
2. 依次点「星历」→「我的报告」→ 打开任意一份已完成报告。
- **期望**:整个过程里 **没有** `/api/sessions``/api/account` 请求。
- 页面自己的数据请求(`/api/ephemeris``/api/reports` 等)照常,属正常。
3. 原地等 70 秒以上,再点一次「星盘」。
- **期望**:这时才出现一次 `/api/sessions` + 一次 `/api/account`(60 秒缓存过期后的后台刷新),而且**刷新期间侧栏的会话列表一直在**,不闪空、不出骨架。
## C · 写操作后立刻可见(BUG-745 ③)
1.`/`,把任意一段对话重命名成一个好认的名字(例如「重命名验证 A」)。
2. 立刻点「星盘」。
- **期望**`/chart` 左侧栏里这一行已经是新名字。
3.`/` 新建一段对话,立刻进「我的报告」。
- **期望**:新对话在侧栏最上面。
4.`/` 归档一段对话,立刻进「星历」。
- **期望**:它已从侧栏消失。
## D · 两页侧栏逐节点一致(BUG-744)
1.`/` 打开 DevTools Console,执行:
`copy(document.querySelector('[data-sidebar="sidebar"]').outerHTML)`,粘进一个文本文件。
2.`/chart` 执行同一句,粘进第二个文件。
3. 把两份里的会话标题替换成同样的占位(脱敏后再对比),然后 diff。
- **期望**:差异只有三处——每行的菜单按钮 `.session-menu-trigger`、页脚的 `.chevron`、页脚外面那层账户菜单触发器(`/``<button>`,次级页是 `<a href="/">`);另加 `/` 的会话行是 `<button class="session-main">`、次级页是 `<a class="session-main">`
- **不期望**:行高不同、`.session-main` 这一层在某一边不存在、某一边多出一列空白、页脚高度不同(两边都该是 56px)。
4.`/chart` 执行 `document.querySelectorAll('[data-sidebar="sidebar"] button').length`
- **期望**:只剩折叠 / 展开相关的触发器——展开态是 `[data-sidebar="rail"]` 一个;收起态还会有一个 `aria-label="聊天记录"` 的展开按钮(它也只做展开,不写任何数据)。
- **不期望**:出现任何「更多操作」按钮或账户菜单触发器。
5. 目测:`/chart` 上当前选中的页面项(星盘)有和 `/` 一致的选中态;会话行 hover 时行高、圆角、底色与 `/` 相同。
## E · 折叠状态跨页(BUG-746
1.`/` 点顶栏的折叠按钮收起侧栏。
2. 点「星盘」。
- **期望**`/chart` 的侧栏仍是收起的 64px 图标栏。
3.`/chart` 展开侧栏,点「新建对话」回 `/`
- **期望**`/` 的侧栏是展开的。
4. **已知缺口,只需记录不算失败**:在收起状态下按 F5 **整页刷新**,首帧可能先展开再收起(让步顺序第 1 条)。请记下「有没有看见这一下」以及是否刺眼,作为是否值得再开一单的依据。
5. 手机宽度(DevTools 设备模拟,375px):打开抽屉 → 点任意会话 → 抽屉关闭;再进 `/chart`,抽屉应当是**关着的**(移动端不记状态)。
## F · 报告打印仍然只印报告(BUG-745 回归面)
1. 打开任意一份已完成报告 `/reports/<id>`
2. Ctrl/Cmd+P 看打印预览。
- **期望**:侧栏、46px 顶栏、右侧目录都不在纸上;报告正文完整分多页,**不是**被截成一页。
3. 点页面上的「导出报告(.md)」确认仍能下载。
## G · 未登录降级
1. 退出登录(或用无痕窗口直接访问 `/chart`)。
- **期望**:侧栏还在,列表区是「登录后可以看到你的对话」一行字,页脚是「去登录」。
- **不期望**:骨架屏、spinner、「正在加载」、或任何报错块。
2. 点「去登录」。
- **期望**:进 `/login`(这一条**是**有意的整页跳转,Network 里有 document 请求属正常)。
## 结果怎么记
每条写「通过 / 不通过 + 截图或一句现象」。不通过的连同 Network 截图(去掉 Cookie 与 Authorization 头)一起回给会话,作为修复单的事故实证。