diff options
| author | Roman Smrž <roman.smrz@seznam.cz> | 2026-03-11 22:29:52 +0100 |
|---|---|---|
| committer | Roman Smrž <roman.smrz@seznam.cz> | 2026-03-11 22:37:26 +0100 |
| commit | c1d559d31fdf87bc833c7d4795a88e6fcfeb61c8 (patch) | |
| tree | 65ccdb9167eeb4c9fea4f897b9b2719847fe892d /src | |
| parent | 2fba2dd6711bbd87aabaaaf5e4bc572ef98e888f (diff) | |
Diffstat (limited to 'src')
| -rw-r--r-- | src/Erebos/DirectMessage.hs | 4 |
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 |