From c1d559d31fdf87bc833c7d4795a88e6fcfeb61c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Roman=20Smr=C5=BE?= Date: Wed, 11 Mar 2026 22:29:52 +0100 Subject: Fix updated dm threads check on initial state --- src/Erebos/DirectMessage.hs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'src/Erebos') 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 -- cgit v1.2.3