diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-02 15:42:34 +0200 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-08-05 21:55:55 +0200 |
| commit | cb3e2abade4a0aa1ad13f4aa1632b1e05af4d29a (patch) | |
| tree | 5ee32f2e21b5fa504bdb1d30a717dffa4f17ac34 /src/Erebos/Conversation.hs | |
| parent | 0efd90e5f01996ceb01f5a2889f9e2986322c371 (diff) | |
Use cached values for shared state lookups
Diffstat (limited to 'src/Erebos/Conversation.hs')
| -rw-r--r-- | src/Erebos/Conversation.hs | 4 |
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 |