From 17ef4a26f158bc747d898ea08a7eefef0786d53f Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Thu, 30 Jul 2026 23:50:00 +0800 Subject: [PATCH] test(openai): settle roundtrip failures without rejection --- scripts/dev/realtime-talk-live-smoke.ts | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/scripts/dev/realtime-talk-live-smoke.ts b/scripts/dev/realtime-talk-live-smoke.ts index 8f6d4ea067f8..a724a9dade36 100644 --- a/scripts/dev/realtime-talk-live-smoke.ts +++ b/scripts/dev/realtime-talk-live-smoke.ts @@ -437,11 +437,9 @@ async function smokeOpenAIAudioRoundtrip(apiKey: string, cycleCount: number): Pr let lateAudioBytes = 0; let responseDone = false; let closed = false; - let resolveRoundtrip: (() => void) | undefined; - let rejectRoundtrip: ((error: Error) => void) | undefined; - const roundtrip = new Promise((resolve, reject) => { + let resolveRoundtrip: ((error?: Error) => void) | undefined; + const roundtrip = new Promise((resolve) => { resolveRoundtrip = resolve; - rejectRoundtrip = reject; }); const maybeResolveRoundtrip = () => { if ( @@ -494,10 +492,10 @@ async function smokeOpenAIAudioRoundtrip(apiKey: string, cycleCount: number): Pr maybeResolveRoundtrip(); } }, - onError: (error) => rejectRoundtrip?.(error), + onError: (error) => resolveRoundtrip?.(error), onClose: (reason) => { if (!closed && reason === "error") { - rejectRoundtrip?.(new Error("OpenAI audio roundtrip bridge closed with an error")); + resolveRoundtrip?.(new Error("OpenAI audio roundtrip bridge closed with an error")); } }, }); @@ -514,9 +512,12 @@ async function smokeOpenAIAudioRoundtrip(apiKey: string, cycleCount: number): Pr // Observe failures immediately; the same promise is awaited after input streaming completes. void boundedRoundtrip.catch(() => undefined); chunksSent = await sendPcmAudioInChunks(bridge, inputAudio); - await boundedRoundtrip; + const roundtripError = await boundedRoundtrip; + if (roundtripError) { + throw roundtripError; + } } catch (error) { - rejectRoundtrip?.(error instanceof Error ? error : new Error(String(error))); + resolveRoundtrip?.(error instanceof Error ? error : new Error(String(error))); throw error; } finally { closed = true;