summaryrefslogtreecommitdiff
path: root/src/Erebos/Conversation.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-08-02 15:42:34 +0200
committerRoman Smrž <roman.smrz@seznam.cz>2026-08-05 21:55:55 +0200
commitcb3e2abade4a0aa1ad13f4aa1632b1e05af4d29a (patch)
tree5ee32f2e21b5fa504bdb1d30a717dffa4f17ac34 /src/Erebos/Conversation.hs
parent0efd90e5f01996ceb01f5a2889f9e2986322c371 (diff)
Use cached values for shared state lookups
Diffstat (limited to 'src/Erebos/Conversation.hs')
-rw-r--r--src/Erebos/Conversation.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Erebos/Conversation.hs b/src/Erebos/Conversation.hs
index e46f4a5..844b5dd 100644
--- a/src/Erebos/Conversation.hs
+++ b/src/Erebos/Conversation.hs
@@ -115,7 +115,7 @@ isSameConversation _ _ = False
directMessageConversation :: MonadHead LocalState m => ComposedIdentity -> m Conversation
directMessageConversation peer = do
createOrUpdateDirectMessagePeer peer
- (find (sameIdentity peer . msgPeer) . dmThreadList . lookupSharedValue . lsShared . fromStored <$> getLocalHead) >>= \case
+ (find (sameIdentity peer . msgPeer) . dmThreadList <$> lookupSharedValueM) >>= \case
Just thread -> return $ DirectMessageConversation thread
Nothing -> return $ DirectMessageConversation $ dmEmptyThread peer
@@ -135,7 +135,7 @@ reloadConversation cur@(ChatroomConversation rstate) =
fromMaybe cur <$> chatroomConversation rstate
lookupConversations :: MonadHead LocalState m => m [ Conversation ]
-lookupConversations = map DirectMessageConversation . dmThreadList . lookupSharedValue . lsShared . fromStored <$> getLocalHead
+lookupConversations = map DirectMessageConversation . dmThreadList <$> lookupSharedValueM
lookupConversationByRef :: MonadHead LocalState m => RefDigest -> m (Maybe Conversation)
lookupConversationByRef dgst = find ((dgst ==) . conversationReference) <$> lookupConversations