2.6 KiB
2.6 KiB
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-930;BUG-041 / BUG-048 末尾各补一行;CHANGELOG;DESIGN 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。