Skip to content

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

Closed
teamleaderleo wants to merge 1 commit into
feat-cmux-nextfrom
codex/cx9vqcn-follow-fix
Closed

teamleaderleo wants to merge 1 commit into
feat-cmux-nextfrom
codex/cx9vqcn-follow-fix

Conversation

@teamleaderleo

@teamleaderleo teamleaderleo commented Oct 17, 2026 •

Copy link
Copy Markdown
Collaborator

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.

Written for commit d95c7ac. Summary will update on new commits.

View guided diff Turn on auto-fix

@coderabbitai

coderabbitai Bot commented Oct 17, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Repository: manaflow-ai/cmux/.coderabbit.yaml
  • Review profile: ASSERTIVE
  • Plan: Advanced
  • Run ID: aa2f6a83-4cdb-4200-ad49-a195b2e28763

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Visual preview of d95c7ac: in the maintainers' private review feed.

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Bead cx-20rww created for this PR by the cmux coordinator.

@github-actions

Copy link
Copy Markdown
Contributor

Gallery

Review in feed

24 states changed: agent-pane.chat-width/wide, agent-pane.chat-width/wide-blocks, agent-pane.transcript/math-delimiters, agent-pane.transcript/github-references, agent-pane.replay/playing, ... · 1 play check failed

Diff page and renders (the run's gallery-pr artifact)

State Before · after
agent-pane.chat-width/wide (Apple System Colors, chromium)
agent-pane.chat-width/wide-blocks (Apple System Colors, chromium)
agent-pane.chat-width/wide-blocks (Apple System Colors Light, webkit)
agent-pane.transcript/math-delimiters (Apple System Colors Light, chromium)
agent-pane.transcript/math-delimiters (Apple System Colors, chromium)
agent-pane.chat-width/wide (Apple System Colors Light, chromium)

18 more on the diff page.

Live preview (follows this branch; start it with scripts/gallery-live.sh up <branch> from an hq checkout):

  • agent-pane.chat-width/wide: /wt/codex-cx9vqcn-follow-fix/?entry=agent-pane.chat-width#/agent-pane.chat-width/wide
  • agent-pane.chat-width/wide-blocks: /wt/codex-cx9vqcn-follow-fix/?entry=agent-pane.chat-width#/agent-pane.chat-width/wide-blocks
  • agent-pane.transcript/math-delimiters: /wt/codex-cx9vqcn-follow-fix/?entry=agent-pane.transcript#/agent-pane.transcript/math-delimiters
  • agent-pane.transcript/github-references: /wt/codex-cx9vqcn-follow-fix/?entry=agent-pane.transcript#/agent-pane.transcript/github-references
  • agent-pane.replay/playing: /wt/codex-cx9vqcn-follow-fix/?entry=agent-pane.replay#/agent-pane.replay/playing
  • agent-pane.transcript/keyboard-focus: /wt/codex-cx9vqcn-follow-fix/?entry=agent-pane.transcript#/agent-pane.transcript/keyboard-focus
  • 7 more on the diff page

Play checks failed (0 px anchor movement, 0 layout shift, no frame over 33 ms unless the entry gives a reason):

  • agent-pane.thread-minimap/long-chat (Apple System Colors Light, webkit): play: waitFor did not hold within 5000 ms
  • agent-pane.thread-minimap/long-chat (Apple System Colors, webkit): play: waitFor did not hold within 5000 ms

69 nondeterministic states differed from a second render of the same head (a clock or fixture leak) and are not counted as changes.

467 unchanged · base 81f1c75 · head d95c7ac

@teamleaderleo

Copy link
Copy Markdown
Collaborator Author

Superseded by #21363, which carries the current-base follow fix plus the cx-ncc.58 composer-slot regression and focused tests.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant