← All changes
fix

Messages queued behind a refused follow-up are no longer lost

When Sinatra refuses a follow-up and another message is already waiting behind it, that message now gets an answer, either a run or a note saying why it didn't run, instead of disappearing.

Before this, when the prompt-injection screen, or the check that Sinatra can read the issue from its sandbox, refused a follow-up on a task with no open pull request, the run ended there and any message waiting behind it was dropped without a word. Now each waiting message starts a fresh run, which runs the screen again as a new task would. On Linear that screen re-reads the issue's recent comments, so while the flagged comment is among them, expect the waiting message to be refused too, in its own session, rather than run. On GitHub the earlier comments aren't re-read, so the waiting message usually runs.

Update: a follow-up the prompt-injection screen flags no longer ends the run. It is refused on its own, the task keeps waiting, and the messages behind it run in the same run. On Linear they are still refused, each in its own session, while the flagged comment is among the issue's recent comments. The sandbox-check case above is unchanged.

#1786