From b5eff641d02faecfe8bee346d5a5855310d93370 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Thu, 25 Mar 2021 16:07:22 -0500 Subject: [PATCH] Change so that we don't validate and change unread counts for unread limit queries --- Account/Sources/Account/Account.swift | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/Account/Sources/Account/Account.swift b/Account/Sources/Account/Account.swift index d82023c69..a8d62e856 100644 --- a/Account/Sources/Account/Account.swift +++ b/Account/Sources/Account/Account.swift @@ -1157,7 +1157,13 @@ private extension Account { func fetchUnreadArticles(forContainer container: Container, limit: Int?) throws -> Set
{ let feeds = container.flattenedWebFeeds() let articles = try database.fetchUnreadArticles(feeds.webFeedIDs(), limit) - validateUnreadCountsAfterFetchingUnreadArticles(feeds, articles) + + // We don't validate limit queries because they, by definition, won't correctly match the + // complete unread state for the given container. + if limit == nil { + validateUnreadCountsAfterFetchingUnreadArticles(feeds, articles) + } + return articles } @@ -1166,7 +1172,13 @@ private extension Account { database.fetchUnreadArticlesAsync(webFeeds.webFeedIDs(), limit) { [weak self] (articleSetResult) in switch articleSetResult { case .success(let articles): - self?.validateUnreadCountsAfterFetchingUnreadArticles(webFeeds, articles) + + // We don't validate limit queries because they, by definition, won't correctly match the + // complete unread state for the given container. + if limit == nil { + self?.validateUnreadCountsAfterFetchingUnreadArticles(webFeeds, articles) + } + completion(.success(articles)) case .failure(let databaseError): completion(.failure(databaseError))