Repository navigation
Agent pane: a message sent mid-turn never leaves Return and Send dead - #22732
Conversation
…ut the queued record Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15bf1-fdac-78a0-ac2e-a38c001e9b1e&host=cosmic-gray Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…dead The composer held a sent prompt until acpmux's `queued` record reached the pane; a lagged event stream drops it, so the prompt sat in the field and Return and Send did nothing until the turn ended. A prompt drawn in the queue is now taken at once (a refusal comes back as its bubble with Retry), `_acpmux/prompt_accepted` also takes it, and a press while one is still sending says so instead of doing nothing. Agent-Session: https://cmux.com/deeplink/agent?harness=claude&session=01a15bf1-fdac-78a0-ac2e-a38c001e9b1e&host=cosmic-gray Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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. |
|
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)
Unclear: CI failed on
Failures:
Matched log linesNot re-run automatically: Written by red: web / Web status; base red: the same failure on the base 0c490ba; does not block Tour of |
|
Bead |
|
Found 6 test failures on Blacksmith runners: Failures
|
|
|
|
Shipped in:
|
|
Shipped in:
|
Summary
Leo could not send in a lane chat while its agent was mid-turn: the text stayed in the composer, Send looked ready, and both Return and clicking Send did nothing.
Cause: the composer holds a sent prompt until acpmux takes it (
accepted), and while it holds one, Return and Send are no-ops with no feedback. The pane only learned a queued prompt was taken from acpmux'squeuedevent record. A lagged event stream drops records, so the prompt sat in the field with Return and Send dead until the turn ended. Clicking Send failed the same way, which rules out Caps Lock / IME composition (the click path never reads keys).Fix:
_acpmux/prompt_accepted, which acpmux sends straight to the sending connection, so a lagged event stream no longer matters.Testing
Regression first, from
webviews/:bun test src/agent-session/acpmux/promptAccepted.test.ts6bb0037d, test only): 2 fail. The queue row shows, butacceptednever runs (without thequeuedrecord, and with onlyprompt_accepted).heldPromptGesture.test.tsstill passes.Observed / Not run
vp fmt --checkandvp lint(type-aware) on the changed TS files, clean.bun run checkandscripts/web-lint.sh/ prepush gate locally. Git on cosmic-gray was hung (about 190 git processes stuck in uninterruptible I/O on the shared object store), so these commits were made through the GitHub API; CI's web lint job covers the full check. Not dogfooded in a tagged build.Changelog
Fixed: A message sent while the agent is working no longer gets stuck in the composer with Return and Send doing nothing.
Agent session: cosmic-gray
🤖 Generated with Claude Code
Need help on this PR? Tag
@codesmith-botwith what you need.Summary by cubic
Fixes the agent pane composer so a message sent while the agent is mid-turn never gets stuck with Return and Send dead. The composer held the prompt until acpmux's
queuedevent record arrived, and a lagged event stream can drop that record, leaving the typed prompt in the field with Return and Send doing nothing until the turn ended._acpmux/prompt_accepted, which reaches the sending connection even when the event stream lags.Written for commit d2b6517. Summary will update on new commits.