@@ -792,10 +792,10 @@ forkForwardsTo = \to encryptedBlob servers -> forEach servers (\server -> do
792 *forwards = remaining
792 *forwards = remaining
793 pres <- *presence
793 pres <- *presence
794 let stillLocal = hasLocalPresence pres to t
794 let stillLocal = hasLocalPresence pres to t
795− let othersPending = any (\x -> x.encryptedBlob == encryptedBlob) remaining
795+ let othersPending = any (\x -> x.toKey == to && x.encryptedBlob == encryptedBlob) remaining
796 when (not (stillLocal || othersPending)) (do
796 when (not (stillLocal || othersPending)) (do
797 msgs <- *messages
797 msgs <- *messages
798− *messages = filter (\m -> m.encryptedBlob != encryptedBlob) msgs)))
798+ *messages = filter (\m -> not (m.toKey == to && m.encryptedBlob == encryptedBlob)) msgs)))
800-- ============================================
800-- ============================================
801-- Handler: federation receive
801-- Handler: federation receive