From 2d712be3c0a27a0b198de0ef0f9a0b0b10f36d43 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tadeusz=20So=C5=9Bnierz?= Date: Fri, 22 Apr 2022 14:09:18 +0200 Subject: [PATCH] Tweak initialSync logic to ensure we don't get perform it forever Before this no entries were saved after an initialSync, making us thing it's an initialSync every time. --- src/feeds/FeedReader.ts | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/feeds/FeedReader.ts b/src/feeds/FeedReader.ts index 66a00a2e..3815e401 100644 --- a/src/feeds/FeedReader.ts +++ b/src/feeds/FeedReader.ts @@ -118,12 +118,14 @@ export class FeedReader { try { const res = await axios.get(url.toString()); const feed = await (new Parser()).parseString(res.data); - const seenGuids = this.seenEntries.get(url) || []; - const seenGuidsSet = new Set(seenGuids); let initialSync = false; - if (seenGuidsSet.size === 0) { + let seenGuids = this.seenEntries.get(url); + if (!seenGuids) { initialSync = true; + seenGuids = []; + seenEntriesChanged = true; // to ensure we only treat it as an initialSync once } + const seenGuidsSet = new Set(seenGuids); const newGuids = []; log.debug(`Found ${feed.items.length} entries in ${url}`); for (const item of feed.items) {