improvement(mothership): stable thinking indicator and jump-free streaming scroll#5828
Conversation
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
PR SummaryMedium Risk Overview The turn-level thinking shimmer lives in a fixed-height slot on the last assistant message only ( Copy/thumbs move into Scroll stability: Reviewed by Cursor Bugbot for commit 65c9cf2. Bugbot is set up for automated code reviews on this repo. Configure here. |
Greptile SummaryThis PR makes streaming chat activity and automatic scrolling more stable. The main changes are:
Confidence Score: 5/5This looks safe to merge.
Important Files Changed
Reviews (8): Last reviewed commit: "improvement(mothership): swap actions in..." | Re-trigger Greptile |
…hase interrupt baseline
|
@cursor review |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 23e3875. Configure here.
…t-exit latch, cleanup pass
|
@cursor review |
|
@cursor review |
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 8ac08dd. Configure here.
…e, quicken the chase
|
@cursor review |
There was a problem hiding this comment.
✅ Bugbot reviewed your changes and found no new issues!
Comment @cursor review or bugbot run to trigger another review on this PR
Reviewed by Cursor Bugbot for commit 65c9cf2. Configure here.
|
@cursor review |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 65c9cf2. Configure here.
| // trailing text keeps visually revealing on a timer after the network stream | ||
| // closes, and collapsing under a still-growing reveal reads as the blob | ||
| // winking out early while everything shifts. | ||
| const thinkingExpanded = phase !== 'settled' && lastSegment?.type !== 'stopped' |
There was a problem hiding this comment.
Stop collapses slot during reveal
Medium Severity
thinkingExpanded forces the reserved slot closed whenever the last segment is stopped, even while phase is still revealing. That contradicts the nearby comment about keeping the slot through post-stream reveal, and with actions gated as already settled it swaps the shimmer slot for the actions row while paced text can still be draining — the layout jump this change set out to avoid.
Additional Locations (1)
Reviewed by Cursor Bugbot for commit 65c9cf2. Configure here.


Summary
followToBottomspawned a new chase loop peranimationstart(up to 20 concurrent writers snapping the scroll) — now folded intocreateSmoothBottomChasevia a deadline-extendingkickUntilmin-heightfloored at the scrolled-to extent while streamingType of Change
Testing
Verified with in-browser scroll instrumentation (0 stacked scroll writers, 0 downward transcript moves during streaming, 0px phantom space at settle); vitest 107/107 in the touched tree; lint + strict boundary validation pass
Checklist