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

2.6 KiB
Raw Blame History

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。未改 .conversationpadding-bottom,无新增 sticky。
T4 思考块核实 完成 核实:.consultation-thinking-reportConsultationRunTimeline 流式期间默认展开(userOpen ?? live),结算后折叠为一行;高度随步骤条数有界,不是逐 token 无界增长。未改。
T5 记录 完成 BUG-930BUG-041 / BUG-048 末尾各补一行;CHANGELOGDESIGN Answer start anchor;真人清单。

让步 / 偏离

  • resetKey 变化先落底;若当时就在底部 96px 内则保持跟随,直到 pinLatestTurn 或上滑。未在落底后强制置假,否则历史会话消息尚未 hydrate 时会停在顶部。与「打开历史落在底部」一致。
  • 本轮开头定位用 getBoundingClientRect 相对滚动容器,而不是字面 row.offsetTop(嵌套 .message-entryoffsetTop 不是容器坐标)。
  • 无 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 failedrectification-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