fix(agent-pane): settle follow at the streaming bottom

Closed
TE
20d ago
+23-12

Summary

Narrow the WebKit follow repair to the current feat-cmux-next base. Streaming bottom-following now uses a 2 px resting deadband and only writes a meaningful correction, preserving the follow trace across a second composer send without carrying the unrelated sidebar/motion changes from #21331.

Validation

  • bun test test/transcript-follow.test.ts (browser lane skipped outside CI/Freestyle)
  • CMUX_BROWSER_TESTS=1 bun test test/transcript-follow.test.ts (local DOM timeout while starting the Vite browser lane; hosted WebKit remains required)
  • bun run typecheck (no type errors in 1482 files)
  • git diff --check

The existing transcript-follow browser test already asserts the <=2px follow tolerance. Hosted WebKit/Chromium validation is required on this exact head before merge.


View with [code]smith Autofix with [code]smith
Need help on this PR? Tag @codesmith-bot with what you need.


Summary by cubic

Sets bottom-following to a 2px resting deadband in the agent transcript, so streaming replies no longer write fractional scroll offsets and twitch the thumb.

  • The new settleFollowBottom helper only corrects when displacement exceeds the deadband, which also preserves the follow trace across a second composer send.
  • Applies only the follow repair onto the current feat-cmux-next base; unrelated sidebar and motion changes are not carried over.