From 033d9bf78ac5afdb2a95696742aea67018a54a17 Mon Sep 17 00:00:00 2001 From: Grail Finder Date: Sun, 28 Dec 2025 11:37:52 +0300 Subject: Enha: drain chunkChan to avoid missing tokens --- bot.go | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) (limited to 'bot.go') diff --git a/bot.go b/bot.go index efd72be..fe1e56e 100644 --- a/bot.go +++ b/bot.go @@ -677,7 +677,6 @@ out: tv.ScrollToEnd() // Send chunk to audio stream handler if cfg.TTS_ENABLED { - // audioStream.TextChan <- chunk extra.TTSTextChan <- chunk } case toolChunk := <-openAIToolChan: @@ -685,11 +684,15 @@ out: toolResp.WriteString(toolChunk) tv.ScrollToEnd() case <-streamDone: - botRespMode = false - if cfg.TTS_ENABLED { - // audioStream.TextChan <- chunk - extra.TTSFlushChan <- true - logger.Debug("sending flushchan signal") + // rrain any remaining chunks from chunkChan before exiting + for chunk := range chunkChan { + fmt.Fprint(tv, chunk) + respText.WriteString(chunk) + tv.ScrollToEnd() + // Send chunk to audio stream handler + if cfg.TTS_ENABLED { + extra.TTSTextChan <- chunk + } } break out } -- cgit v1.2.3