fix(web): Queued messages can be edited during Compact and send#105

draft1
contrib/ios-compose-button-layout
contrib/queued-edit-during-compaction
opened18h agobyMMike Olson
View on GitHubTwo-way sync enabledPR last imported 51m ago

When a stale Claude thread shows Compact and send, the message queues behind T3's idle /compact run. During that compaction the composer stayed busy: the send button showed a spinner or Stop instead of Update queued message, and editing the queued message could not be saved with Enter.

The thread shell hides the silent idle-compaction run, so the runtime the composer checks reports the queued message's run. derivePhase reads queued as connecting, and hasServerAcknowledgedLocalDispatch kept the send unacknowledged until the compaction ended. A queued runtime whose latest user message has changed now counts as acknowledged, so the queued message can be edited and saved while the compaction runs.

Validation: a regression case in ChatView.logic.test.ts fails without the fix. In a private dev server with a Claude Haiku thread, Compact and send followed by an edit and Enter now saves the queued message (the server's copy updated); before the fix the button stayed on Submitting message and Enter did nothing. Manual /compact followed by a queued edit was already fine and still is.

Added 1 commit

  • fix(web): Queued messages can be edited during Compact and send517af27