fix(queue): preserve pending items during drains

This commit is contained in:
Peter Steinberger
2026-04-18 20:18:39 +01:00
parent 511a6c0ad0
commit 712644f0d9
3 changed files with 3 additions and 3 deletions

View File

@@ -162,7 +162,7 @@ function scheduleAnnounceDrain(key: string) {
prompt,
internalEvents: internalEvents.length > 0 ? internalEvents : last.internalEvents,
});
queue.items.splice(0);
queue.items.splice(0, items.length);
if (summary) {
clearQueueSummaryState(queue);
}

View File

@@ -219,7 +219,7 @@ export function scheduleFollowupDrain(
enqueuedAt: Date.now(),
...routing,
});
queue.items.splice(0);
queue.items.splice(0, groupItems.length);
if (pendingSummary) {
clearQueueSummaryState(queue);
pendingSummary = undefined;

View File

@@ -167,7 +167,7 @@ export function consumeSystemEventEntries(
) {
return [];
}
const removed = entry.queue.splice(0).map(cloneSystemEvent);
const removed = entry.queue.splice(0, consumedEntries.length).map(cloneSystemEvent);
if (entry.queue.length === 0) {
entry.lastText = null;
entry.lastContextKey = null;