Skip to content

Commit 5534cf3

Browse files
committed
roll failed steer flush back onto queue
1 parent 000a125 commit 5534cf3

1 file changed

Lines changed: 15 additions & 5 deletions

File tree

packages/ui/src/features/sessions/hooks/useToggleMessagingMode.ts

Lines changed: 15 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -29,14 +29,24 @@ export function useToggleMessagingMode(taskId: string | undefined): () => void {
2929
if (next === "steer") {
3030
// Flush buffered messages into the running turn in queued order so a
3131
// message typed first lands first. rawPrompt preserves rich content.
32+
// They are already dequeued, so roll any failed send back onto the queue
33+
// rather than dropping it silently.
3234
const queued = sessionStoreSetters.dequeueMessages(taskId);
3335
void (async () => {
36+
const failed: typeof queued = [];
3437
for (const message of queued) {
35-
await sessionService
36-
.sendPrompt(taskId, message.rawPrompt ?? message.content, {
37-
steer: true,
38-
})
39-
.catch(() => {});
38+
try {
39+
await sessionService.sendPrompt(
40+
taskId,
41+
message.rawPrompt ?? message.content,
42+
{ steer: true },
43+
);
44+
} catch {
45+
failed.push(message);
46+
}
47+
}
48+
if (failed.length > 0) {
49+
sessionStoreSetters.prependQueuedMessages(taskId, failed);
4050
}
4151
})();
4252
}

0 commit comments

Comments
 (0)