summaryrefslogtreecommitdiff
path: root/src/Erebos/DirectMessage.hs
diff options
context:
space:
mode:
authorRoman Smrž <roman.smrz@seznam.cz>2026-03-11 22:29:52 +0100
committerRoman Smrž <roman.smrz@seznam.cz>2026-03-11 22:37:26 +0100
commitc1d559d31fdf87bc833c7d4795a88e6fcfeb61c8 (patch)
tree65ccdb9167eeb4c9fea4f897b9b2719847fe892d /src/Erebos/DirectMessage.hs
parent2fba2dd6711bbd87aabaaaf5e4bc572ef98e888f (diff)
Fix updated dm threads check on initial stateHEADmaster
Diffstat (limited to 'src/Erebos/DirectMessage.hs')
-rw-r--r--src/Erebos/DirectMessage.hs4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/Erebos/DirectMessage.hs b/src/Erebos/DirectMessage.hs
index 0b0665c..dafebce 100644
--- a/src/Erebos/DirectMessage.hs
+++ b/src/Erebos/DirectMessage.hs
@@ -306,9 +306,9 @@ findMissingPeers :: Server -> DirectMessageThreads -> ExceptT ErebosError IO ()
findMissingPeers server (DirectMessageThreads states threads) = do
prev <- modifyServiceGlobalState server (Proxy @DirectMessage) $ \gs ->
( gs { dmgsLastState = Just states }, dmgsLastState gs )
- let diffPeers = map (msPeer . fromStored) $ maybe states (storedDifference states) prev
+ let diffPeers = map (msPeer . fromStored) . storedDifference states <$> prev
- forM_ (takeWhile (\t -> any (sameIdentity $ msgPeer t) diffPeers) threads) $ \thread -> do
+ forM_ (takeWhile (\t -> maybe True (any (sameIdentity $ msgPeer t)) diffPeers) threads) $ \thread -> do
when (msgHead thread /= msgReceived thread) $ do
mapM_ (discoverySearch server) $ map (refDigest . storedRef) $ idDataF $ msgPeer thread