From cb3e2abade4a0aa1ad13f4aa1632b1e05af4d29a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Sun, 2 Aug 2026 15:42:34 +0200 Subject: Use cached values for shared state lookups --- src/Erebos/DirectMessage.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'src/Erebos/DirectMessage.hs') diff --git a/src/Erebos/DirectMessage.hs b/src/Erebos/DirectMessage.hs index 3b298e7..ed2c2b4 100644 --- a/src/Erebos/DirectMessage.hs +++ b/src/Erebos/DirectMessage.hs @@ -120,8 +120,8 @@ instance Service DirectMessage where let msg = fromStored smsg powner <- asks $ finalOwner . svcPeerIdentity erb <- svcGetLocal - let DirectMessageThreads prev _ = lookupSharedValue $ lsShared $ fromStored erb - sent = concat $ propertyValue $ findMsgProperty powner msSent prev + DirectMessageThreads prev _ <- lookupSharedValueM + let sent = concat $ propertyValue $ findMsgProperty powner msSent prev received = concat $ propertyValue $ findMsgProperty powner msReceived prev received' = filterAncestors $ smsg : received if powner `sameIdentity` msgFrom msg || @@ -146,7 +146,7 @@ instance Service DirectMessage where else join $ asks $ dmOwnerMismatch . svcAttributes serviceNewPeer = do - syncDirectMessageToPeer . lookupSharedValue . lsShared . fromStored =<< svcGetLocal + syncDirectMessageToPeer =<< lookupSharedValueM serviceUpdatedPeer = do updateDirectMessagePeer . finalOwner =<< asks svcPeerIdentity @@ -424,7 +424,7 @@ messageThreadFor pthread mss = watchDirectMessageThreads :: Head LocalState -> (DirectMessageThread -> DirectMessageThread -> IO ()) -> IO WatchedHead watchDirectMessageThreads h callback = do prevVar <- newMVar Nothing - watchHeadWith h (lookupSharedValue . lsShared . headObject) $ \(DirectMessageThreads sms _) -> do + watchHeadWith h lookupSharedValueH $ \(DirectMessageThreads sms _) -> do modifyMVar_ prevVar $ \case Just ( prev, prevPeers ) -> do let addPeer (p : ps) p' -- cgit v1.2.3