From 6a7f9dfd5d49bdbe5f6fa62be51b824ce6e55b85 Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Fri, 31 Jul 2026 08:47:34 +0800 Subject: [PATCH] fix(meeting-bot): invalidate queued output on barge-in --- src/meeting-bot/realtime-engine.ts | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/meeting-bot/realtime-engine.ts b/src/meeting-bot/realtime-engine.ts index 37aa879c8d04..8b8bb4b94940 100644 --- a/src/meeting-bot/realtime-engine.ts +++ b/src/meeting-bot/realtime-engine.ts @@ -305,6 +305,10 @@ export async function startMeetingRealtimeEngine(params: { const clearOutputPlayback = (): void => { void queueOutputClear(); }; + const invalidateAndClearOutputPlayback = (): void => { + blockOutput(); + clearOutputPlayback(); + }; const blockOutput = (): { blocked: boolean; token: symbol } => { if (outputBlocked) { @@ -369,7 +373,7 @@ export async function startMeetingRealtimeEngine(params: { if (!playbackActive && (lastOutputAudioAt === undefined || now - lastOutputAudioAt > 1_000)) { return false; } - harness.handleBargeIn({ audioPlaybackActive: true }, clearOutputPlayback); + harness.handleBargeIn({ audioPlaybackActive: true }, invalidateAndClearOutputPlayback); return true; }); };