From e93bec3114f511858dd21e2cffbb487008bdd1bd Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Sat, 25 Apr 2020 18:25:00 -0700 Subject: [PATCH] =?UTF-8?q?Fix=20bug=20where=20local=20account=20could=20d?= =?UTF-8?q?elete=20starred=20items=20if=20they=E2=80=99ve=20older=20and=20?= =?UTF-8?q?have=20fallen=20off=20the=20feed.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Frameworks/ArticlesDatabase/ArticlesTable.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Frameworks/ArticlesDatabase/ArticlesTable.swift b/Frameworks/ArticlesDatabase/ArticlesTable.swift index db997afb6..0800450f8 100644 --- a/Frameworks/ArticlesDatabase/ArticlesTable.swift +++ b/Frameworks/ArticlesDatabase/ArticlesTable.swift @@ -209,10 +209,10 @@ final class ArticlesTable: DatabaseTable { let newArticles = self.findAndSaveNewArticles(incomingArticles, fetchedArticlesDictionary, database) //5 let updatedArticles = self.findAndSaveUpdatedArticles(incomingArticles, fetchedArticlesDictionary, database) //6 - // Articles to delete are 1) no longer in feed and 2) older than 30 days. + // Articles to delete are 1) not starred and 2) older than 30 days and 3) no longer in feed. let cutoffDate = Date().bySubtracting(days: 30) let articlesToDelete = fetchedArticles.filter { (article) -> Bool in - return article.status.dateArrived < cutoffDate && !articleIDs.contains(article.articleID) + return !article.status.starred && article.status.dateArrived < cutoffDate && !articleIDs.contains(article.articleID) } self.callUpdateArticlesCompletionBlock(newArticles, updatedArticles, articlesToDelete, completion) //7