From f1337c3b07fdc1190d0c5cdddf9a17352ac89a4d Mon Sep 17 00:00:00 2001 From: Debanjum Date: Thu, 4 Dec 2025 22:15:13 -0800 Subject: [PATCH] Handle unset event in chat response stream Testing unset event field is an edge case that would unnecessarily prematurely terminate stream. Ignoring it stabilizes response stream completion. --- src/khoj/routers/api_chat.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/khoj/routers/api_chat.py b/src/khoj/routers/api_chat.py index d622936f..04cb84de 100644 --- a/src/khoj/routers/api_chat.py +++ b/src/khoj/routers/api_chat.py @@ -1621,7 +1621,9 @@ async def process_chat_request( interrupt_queue, ) async for event in response_iterator: - if event.startswith("{") and event.endswith("}"): + if not event: + continue + elif event.startswith("{") and event.endswith("}"): evt_json = json.loads(event) if evt_json["type"] == ChatEvent.END_LLM_RESPONSE.value: # Flush remaining buffer content on end llm response event