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/DirectMessage.hs | |
| parent | 0efd90e5f01996ceb01f5a2889f9e2986322c371 (diff) | |
Use cached values for shared state lookups
Diffstat (limited to 'src/Erebos/DirectMessage.hs')
| -rw-r--r-- | src/Erebos/DirectMessage.hs | 8 |
1 files changed, 4 insertions, 4 deletions
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' |