Files
Jyotisha/docs/tasks/PROGRESS-consultation-answer-start-anchor-20260917.md
T
jesse-ux 11c0028d59
Independent Staging Quality Gate / validate (push) Failing after 6m26s
Independent Staging Quality Gate / publish (push) Skipped
fix(web): 回答从开头开始读,两个会话面同一套钉顶跟随
2026-09-17 21:47:54 +08:00

37 lines
2.6 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.
# PROGRESS · 回答定位到开头(2026-09-17
工作树:`worktree-green-harbor-5be3`
分支:`worktree/green-harbor-5be3`
基线:`origin/staging` @ `5203f9f0`(任务书扩到校正面后)
本机 Windows。
Skill **未 bump**。未改 Python、迁移、Skill。
## 任务状态
| 任务 | 状态 | 说明 |
| --- | --- | --- |
| T1 hook 改语义 `pinLatestTurn` BUG-930 | 完成 | 签名不变。新一轮钉本轮开头(用户行;无用户行则新助手行)。`send()``pinLatestTurn()`。校正面三处:文字提交、点选项、开场/采用新助手行。 |
| T2 `latestBelowFold` | 完成 | 主会话 `jumpToLatestVisible` 与校正面按钮都改看 hook 的 `latestBelowFold`(末条底部超出视口 > 96px)。 |
| T3 末尾动态留白 | 完成 | 最后一轮助手行 `min-height: calc(var(--conversation-viewport) - var(--latest-turn-head-height))`,变量由 hook 写到滚动容器 `style`。未改 `.conversation``padding-bottom`,无新增 sticky。 |
| T4 思考块核实 | 完成 | 核实:`.consultation-thinking-report``ConsultationRunTimeline` 流式期间默认展开(`userOpen ?? live`),结算后折叠为一行;高度随步骤条数有界,不是逐 token 无界增长。未改。 |
| T5 记录 | 完成 | BUG-930BUG-041 / BUG-048 末尾各补一行;CHANGELOGDESIGN Answer start anchor;真人清单。 |
## 让步 / 偏离
- `resetKey` 变化先落底;若当时就在底部 96px 内则保持跟随,直到 `pinLatestTurn` 或上滑。未在落底后强制置假,否则历史会话消息尚未 hydrate 时会停在顶部。与「打开历史落在底部」一致。
- 本轮开头定位用 `getBoundingClientRect` 相对滚动容器,而不是字面 `row.offsetTop`(嵌套 `.message-entry``offsetTop` 不是容器坐标)。
- 无 jsdom 依赖;行为测试用最小 fake scroller 行使导出函数。
## 测试
| 项 | 结果 |
| --- | --- |
| `tsc --noEmit` | 0 错 |
| `npm run lint` | 0 error / 118 warning |
| 定向 | chat-notice-and-scroll / a11y / rectification-agentic-entry / starter-questions / home-shell / chat-panel-scroll-guard / birth-time-mobile-scroll **92 passed / 0 failed**rectification-answer-choice **34 passed / 0 failed** |
| `page.tsx` 行数 | 开工 1830 → 现在 1830 |
| `next build` | Compile + TypeScript 通过;collect page data 在本机 Windows 因 Skill 运行时 `symlink EPERM` 失败(与本轮无关的环境缺口),未核对 `/` Static 与 gzip |
无登录态、无 Chrome:走查见 `docs/testing/consultation-answer-start-anchor-20260917.md`