From e4cc85738079fd91a075b38be3b47d3019500734 Mon Sep 17 00:00:00 2001 From: SionoiS Date: Fri, 21 Feb 2025 08:51:51 -0500 Subject: [PATCH] fix topic pre processing --- waku/waku_store_sync/reconciliation.nim | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/waku/waku_store_sync/reconciliation.nim b/waku/waku_store_sync/reconciliation.nim index 7db066cb19..9bddaaebe1 100644 --- a/waku/waku_store_sync/reconciliation.nim +++ b/waku/waku_store_sync/reconciliation.nim @@ -113,21 +113,27 @@ proc preProcessPayload( if self.cluster != payload.cluster: return none(RangesData) - if payload.pubsubTopics.len > 0: + if payload.pubsubTopics.len > 0 and self.pubsubTopics.len > 0: let pubsubIntersection = self.pubsubTopics * payload.pubsubTopics.toHashSet() if pubsubIntersection.len < 1: return none(RangesData) payload.pubsubTopics = pubsubIntersection.toSeq() + elif self.pubsubTopics.len > 0: + # Always use the smallest topic scope possible + payload.pubsubTopics = self.pubsubTopics.toSeq() - if payload.contentTopics.len > 0: + if payload.contentTopics.len > 0 and self.contentTopics.len > 0: let contentIntersection = self.contentTopics * payload.contentTopics.toHashSet() if contentIntersection.len < 1: return none(RangesData) payload.contentTopics = contentIntersection.toSeq() + elif self.contentTopics.len > 0: + # Always use the smallest topic scope possible + payload.contentTopics = self.contentTopics.toSeq() let timeRange = calculateTimeRange(self.relayJitter, self.syncRange) let selfLowerBound = timeRange.a