Files
coder/coderd/x
Ethan 60c6c0959e fix: run chat interrupt messages before earlier queued messages (#30729)
If an agent is working with a message already queued, and you send
another message with `busy_behavior=interrupt`, the agent stops, but
then answers the queued message first and yours second. The interrupt
send appends to the end of the queue, and finishing the interruption
promotes the head of the queue, which is the older message.

To fix, we'll put the message that starts the interruption at the front
of the queue, so it's the one promoted once the partial response is
saved. Messages sent whilst an interruption is already in progress still
go to the back, as they do today, so a burst of interrupts keeps the
order it was sent in. On a chat waiting on dynamic tool results, or one
that errored with messages still queued, an interrupt send now goes
straight into history ahead of the queue (cancelling any pending tool
calls), instead of waiting behind it.

This is just a narrow fix to the current queue behaviour, and it doesn't
change the API shape. It's compatible with the queued message delivery
rework I've got in progress, which replaces these code paths. The one
case this doesn't fix is a second interrupt sent during the first, which
still waits behind earlier queued messages; that rework handles it
properly.
2026-10-14 14:00:19 +11:00
..