cmux NEXT transcript: no caret at the end of a streaming reply
Summary
A streaming agent reply no longer draws the soft bar after its newest character, and the bar no longer pulses while the reveal waits for more text. The reply simply ends at its last character; the newest characters still fade in as before.
The removal takes the plumbing that only fed the bar with it: the .cv-caret span and CSS, the waiting prop and .cv-md.is-waiting class, and the settled state in useStreamReveal (which cost one extra render when a reveal caught up). static-status-loops.test.ts drops the caret from its list of loops.
git log -S cv-caret origin/feat-cmux-next has no removal; #20432 and #20434 (hide it once idle) were closed unmerged.
Testing
From webviews/:
bun test src/agent-session/acpmux/conversation/StreamingEdge.test.tsx: red on the first commit (the.cv-caretspan afterworld), green on the fix.bun test src/agent-session/acpmux/conversation: 49 pass.bunx tsc --noEmit -p .: clean.
Not run locally: static-status-loops.test.ts (browser lane, runs in this PR's web / react-apps-check). verify-local.py --affected: localization (41087 parity errors) and package-groups fail the same way on the base; this PR touches neither.
Changelog
Removed: the blinking caret at the end of a streaming agent reply
🤖 Generated with Claude Code
Agent session: cosmic-gray
Need help on this PR? Tag @codesmith-bot with what you need.
Summary by cubic
A streaming agent reply no longer draws the blinking caret after its newest character, and the caret no longer pulses while the stream waits for more text. The reply simply ends at its last character; newest characters still fade in as before.
- Removes the
.cv-caretspan and its CSS, thewaitingprop and.cv-md.is-waitingclass, and thesettledstate inuseStreamReveal, which caused an extra render when the reveal caught up. - Adds a test asserting no caret renders mid-reveal or while waiting.