@@ -571,12 +571,12 @@ sendToEach = \servers action ->
571571
572572pruneExpired = \t -> do
573573 challenges <- *challenges
574− set *challenges = activeByExpiry challenges t
574+ set *challenges = do x <- challenges; where x.expiresAt > t; yield x
575575 sessions <- *sessions
576− set *sessions = activeByExpiry sessions t
576+ set *sessions = do x <- sessions; where x.expiresAt > t; yield x
577577 presenceBefore <- *presence
578578 let peerServersBefore = collectPeerServers presenceBefore (\p -> p.server)
579− let presenceAfter = activeByExpiry presenceBefore t
579+ let presenceAfter = do x <- presenceBefore; where x.expiresAt > t; yield x
580580 set *presence = presenceAfter
581581 let messageCutoff = t - messageMaxAge
582582 messages <- *messages
@@ -760,7 +760,8 @@ pruneAndRetry = \t -> do
760760 set *lastPrunedAt = t
761761 pr <- pruneExpired t
762762 forwards <- *forwards
763− pendingAcks <- &pendingRemoteAcks
763+ ackedIds2 <- *ackedIds
764+ let pendingAcks = do a <- ackedIds2; where not (isLocalServer a.originServer); yield a
764765 yield {expiredLocal: pr.expiredLocal, peerServers: pr.peerServers, pendingForwards: forwards, pendingAcks: pendingAcks}
765766 broadcastOfflineGossip t result.peerServers result.expiredLocal
766767 when federationEnabled (do
@@ -881,7 +882,6 @@ forwardCandidates = \targets messages forwards t ->
881882 yield {messageId: m.messageId, toServer: target.server, createdAt: t,
882883 toKey: m.toKey, encryptedBlob: m.encryptedBlob, timestamp: m.timestamp}
883884
884−activeByExpiry = \items t -> do x <- items; where x.expiresAt > t; yield x
885885
886886challengeMatch = \challenges pubkey challenge t ->
887887 any challenges (\c -> c.pubkey == pubkey && c.challenge == challenge && c.expiresAt > t)
@@ -891,10 +891,6 @@ challengesExcluding = \challenges pubkey challenge ->
891891
892892hasLocalPresence = \entries -> any entries (\p -> isLocalServer p.server)
893893
894−&pendingRemoteAcks = do
895− ackedIds <- *ackedIds
896− yield (do a <- ackedIds; where not (isLocalServer a.originServer); yield a)
897−
898894ackedIdsExcludingBatch = \ackedIds server batch ->
899895 do a <- ackedIds; where not (a.originServer == server && hasMessage a.messageId a.toKey batch); yield a
900896