diff --git a/ui/src/ui/app.test.ts b/ui/src/ui/app.test.ts index 1373a0657c4..fda82e42432 100644 --- a/ui/src/ui/app.test.ts +++ b/ui/src/ui/app.test.ts @@ -136,6 +136,10 @@ describe("OpenClawApp dictation recorder lifecycle", () => { await app.toggleChatDictation(); const recorder = MockMediaRecorder.instances[0]; recorder.emitData(new Blob(["audio"], { type: "audio/webm" })); + transcribeChatAudioMock.mockImplementationOnce(async () => { + expect(app.chatDictationChunks).toEqual([]); + return null; + }); await app.toggleChatDictation(); diff --git a/ui/src/ui/app.ts b/ui/src/ui/app.ts index c76913f36fa..3cc6c012ab6 100644 --- a/ui/src/ui/app.ts +++ b/ui/src/ui/app.ts @@ -1016,7 +1016,7 @@ export class OpenClawApp extends LitElement { if (this.chatDictationRecorder !== recorder) { return; } - const chunks = this.chatDictationChunks; + const chunks = [...this.chatDictationChunks]; this.chatDictationChunks = []; const canceledByRequest = this.chatDictationCancelNextStop; this.chatDictationCancelNextStop = false;