diff --git a/src/interface/web/app/chat/page.tsx b/src/interface/web/app/chat/page.tsx index 666726af..e273455e 100644 --- a/src/interface/web/app/chat/page.tsx +++ b/src/interface/web/app/chat/page.tsx @@ -359,6 +359,7 @@ export default function Chat() { return; } else if (controlMessage.error) { console.error("WebSocket error:", controlMessage.error); + setProcessQuerySignal(false); return; } } catch { diff --git a/src/khoj/routers/api_chat.py b/src/khoj/routers/api_chat.py index 411cb73a..88035e9d 100644 --- a/src/khoj/routers/api_chat.py +++ b/src/khoj/routers/api_chat.py @@ -1526,6 +1526,8 @@ async def chat_ws( ack_type = "interrupt_acknowledged" await websocket.send_text(json.dumps({"type": ack_type})) else: + ack_type = "interrupt_acknowledged" + await websocket.send_text(json.dumps({"type": ack_type})) logger.info(f"No ongoing task to interrupt for user {websocket.scope['user'].object.id}") continue @@ -1704,8 +1706,8 @@ async def process_chat_request( logger.debug(f"Chat request cancelled for user {websocket.scope['user'].object.id}") raise except Exception as e: - logger.error(f"Error processing chat request: {e}", exc_info=True) await websocket.send_text(json.dumps({"error": "Internal server error"})) + logger.error(f"Error processing chat request: {e}", exc_info=True) raise