diff --git a/src/backend/base/langflow/components/helpers/store_message.py b/src/backend/base/langflow/components/helpers/store_message.py index 18fea64e6..687093219 100644 --- a/src/backend/base/langflow/components/helpers/store_message.py +++ b/src/backend/base/langflow/components/helpers/store_message.py @@ -56,24 +56,32 @@ class MessageStoreComponent(Component): message.sender = self.sender or message.sender or MESSAGE_SENDER_AI message.sender_name = self.sender_name or message.sender_name or MESSAGE_SENDER_NAME_AI + stored_messages: list[Message] = [] + if self.memory: - # override session_id self.memory.session_id = message.session_id lc_message = message.to_lc_message() await self.memory.aadd_messages([lc_message]) - stored_messages = await self.memory.aget_messages() - stored_messages = [Message.from_lc_message(m) for m in stored_messages] + + stored_messages = await self.memory.aget_messages() or [] + + stored_messages = [Message.from_lc_message(m) for m in stored_messages] if stored_messages else [] + if message.sender: stored_messages = [m for m in stored_messages if m.sender == message.sender] else: await astore_message(message, flow_id=self.graph.flow_id) - stored_messages = await aget_messages( - session_id=message.session_id, sender_name=message.sender_name, sender=message.sender + stored_messages = ( + await aget_messages( + session_id=message.session_id, sender_name=message.sender_name, sender=message.sender + ) + or [] ) + if not stored_messages: msg = "No messages were stored. Please ensure that the session ID and sender are properly set." raise ValueError(msg) - stored_message = stored_messages[0] + stored_message = stored_messages[0] self.status = stored_message return stored_message