Under the hood
Re-queued messages after an aborted session-start hook now keep their original order
What
When session-start hooks abort a batch of queued messages, the non-prompt and "resurrected" messages in that batch are now collected and re-added in reverse order using a new enqueueReportingAdmission call with an {ahead: true} option, instead of being pushed back one at a time with the plain enqueue call used before.
Why
This preserves the original ordering of messages that get put back on the queue after a session-start hook aborts, avoiding messages ending up out of sequence.