From de0c48e2c0ab3ff3372b7eb207cba5cf245e1ea9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 22 Feb 2026 19:05:53 +0100 Subject: Conversation reference using RefDigest --- src/Erebos/Conversation.hs | 8 ++++++++ 1 file changed, 8 insertions(+) (limited to 'src/Erebos/Conversation.hs') diff --git a/src/Erebos/Conversation.hs b/src/Erebos/Conversation.hs index a48daf7..20cbf94 100644 --- a/src/Erebos/Conversation.hs +++ b/src/Erebos/Conversation.hs @@ -17,7 +17,9 @@ module Erebos.Conversation ( isChatroomStateConversation, reloadConversation, lookupConversations, + lookupConversationByRef, + conversationReference, conversationName, conversationPeer, conversationHistory, @@ -113,6 +115,12 @@ reloadConversation cur@(ChatroomConversation rstate) = lookupConversations :: MonadHead LocalState m => m [ Conversation ] lookupConversations = map DirectMessageConversation . dmThreadList . lookupSharedValue . lsShared . fromStored <$> getLocalHead +lookupConversationByRef :: MonadHead LocalState m => RefDigest -> m (Maybe Conversation) +lookupConversationByRef dgst = find ((dgst ==) . conversationReference) <$> lookupConversations + + +conversationReference :: Conversation -> RefDigest +conversationReference = withConversation convReference conversationName :: Conversation -> Text conversationName (DirectMessageConversation thread) = fromMaybe (T.pack "") $ idName $ msgPeer thread -- cgit v1.2.3