diff --git a/src/backend/langflow/chat/manager.py b/src/backend/langflow/chat/manager.py index 6c78a2d77..b4ccd931e 100644 --- a/src/backend/langflow/chat/manager.py +++ b/src/backend/langflow/chat/manager.py @@ -170,8 +170,8 @@ class ChatManager: """ Set the cache for a client. """ - client_id = f"{client_id}_chat" - self.cache_manager.set(client_id, langchain_object) + result_dict = {"result": langchain_object, "type": type(langchain_object)} + self.cache_manager.upsert(client_id, result_dict) return client_id in self.cache_manager async def handle_websocket(self, client_id: str, websocket: WebSocket): @@ -194,9 +194,13 @@ class ChatManager: continue with self.cache_manager.set_client_id(client_id): - langchain_object = self.in_memory_cache.get(f"{client_id}_chat") - await self.process_message(client_id, payload, langchain_object) + if langchain_object := self.in_memory_cache.get(client_id).get( + "result" + ): + await self.process_message(client_id, payload, langchain_object) + else: + raise ValueError("No langchain object found in cache") except Exception as exc: # Handle any exceptions that might occur logger.error(f"Error handling websocket: {exc}")