From b964c74a9e9d8bc2659b8e20d03f61ee577476ff Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 20 Dec 2025 13:34:25 -0600 Subject: [PATCH] Honor conversation_id and use browser fallback for device memory --- custom_components/groqd/conversation.py | 24 ++++++++++-------------- 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/custom_components/groqd/conversation.py b/custom_components/groqd/conversation.py index c5309c5..9b311c3 100644 --- a/custom_components/groqd/conversation.py +++ b/custom_components/groqd/conversation.py @@ -193,6 +193,8 @@ class GroqdConversationEntity( if memory_scope == "device": if user_input.device_id: memory_key = f"device:{user_input.device_id}" + elif user_input.conversation_id: + memory_key = f"conv:{user_input.conversation_id}" elif user_input.context and user_input.context.user_id: memory_key = f"user:{user_input.context.user_id}" else: @@ -200,27 +202,21 @@ class GroqdConversationEntity( elif memory_scope == "user": if user_input.context and user_input.context.user_id: memory_key = f"user:{user_input.context.user_id}" + elif user_input.conversation_id: + memory_key = f"conv:{user_input.conversation_id}" else: memory_key = "global" elif memory_scope == "global": memory_key = "global" - if user_input.conversation_id is None: - if memory_key and memory_key in self._memory_index: - conversation_id = self._memory_index[memory_key] - history = self.history.get(conversation_id, []) - else: - conversation_id = ulid.ulid_now() - history = [] - elif user_input.conversation_id in self.history: + if user_input.conversation_id is not None: conversation_id = user_input.conversation_id - history = self.history[conversation_id] + history = self.history.get(conversation_id, []) + elif memory_key and memory_key in self._memory_index: + conversation_id = self._memory_index[memory_key] + history = self.history.get(conversation_id, []) else: - try: - ulid.ulid_to_bytes(user_input.conversation_id) - conversation_id = ulid.ulid_now() - except ValueError: - conversation_id = user_input.conversation_id + conversation_id = ulid.ulid_now() history = [] if (