Repository navigation
cmux NEXT: keep scrolled-up transcript rows anchored during streaming - #25113
Conversation
|
cmux status (one comment, edited in place; each line is updated by the job that owns it) Review App of this head (app.zip, kept 1 day)
Probably yours: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: cmux-next checks (god files, concurrency, crash safety, l10n); no finished base run on 87770f7 to compare; do not merge until green; see lane-rules Tour of Gallery before/after for |
|
Found 13 test failures on Blacksmith runners: Failures
...and 3 more test failures. View all on Blacksmith
|
|
Bead |
|
|
b6eb7df to
e2ad7cf
Compare
|
|
Agent-Session: 01a174c6-e0e8-70b0-9094-8b3055bf18cb
e2ad7cf to
2e0ae07
Compare
Bugbot needs on-demand usage enabledBugbot uses usage-based billing for this team and requires on-demand usage to be enabled. A team admin can enable on-demand usage in the Cursor dashboard. |
|
The feat-cmux-next push run https://github.com/manaflow-ai/cmux/actions/runs/40234771517 at da66b55 failed: cmux-next crash ends the app. |
|
base-red-watch: |
|
Shipped in:
|
![Fix with [code]smith](https://pr-comments-assets.blacksmith.sh/codesmith/fix-with-codesmith-light-3x.png)
Fixes the transcript scrollbar jump while a reader is scrolled up and agent cards or streaming text resize rows above the viewport.
Leo described the symptom (2026-10-25):
The placement pass now anchors from the last reader offset when a browser has already applied a layout scroll adjustment, avoiding a second correction. Streaming revisions keep the visible row's index and stay O(1) per token; insertion/removal falls back to an ID lookup only when the index changed. The row itself remains fixed when its own content grows.
Regression coverage:
conversation/scrollAnchor.test.tscovers above-viewport growth, self-growth, browser-pre-adjusted offsets, and older history inserted above the anchor.agent-pane.streaming-follow-motion, variantstream-scrolled-up, drives a deterministic stream while the transcript is scrolled to 180px and fails if the thumb moves more than 1px.Gallery evidence (same deterministic fixture, generated through the gallery matrix on cmux-ci): before: the scrolled-up stream can apply the browser delta and the placement correction twice; after: the
stream-scrolled-upplay holds the scroll offset within 1px through the full stream. The PR capture includes both dark and light states and the step filmstrip.Checks run locally: focused anchor tests (3 pass, 5 assertions),
vp linton changed files,tsc --noEmit,python3 scripts/cmux-next/prepush-gate.py.Gallery: agent-pane.streaming-follow-motion/stream-scrolled-up
Gallery artifact (public before/after PNGs and step filmstrip, exact head
2e0ae07c95540cb40d96c58b8902358d0085d05b): before/after gallery artifactagent-identity footer