mirror of
https://github.com/Ranchero-Software/NetNewsWire
synced 2025-08-12 06:26:36 +00:00
Remove code for handling April 2020 retention change, since it’s been four-and-a-half years.
This commit is contained in:
@@ -321,19 +321,7 @@ public final class Account: DisplayNameProvider, UnreadCountProvider, Container,
|
||||
webFeedMetadataFile.load()
|
||||
opmlFile.load()
|
||||
|
||||
var shouldHandleRetentionPolicyChange = false
|
||||
if type == .onMyMac {
|
||||
let didHandlePolicyChange = metadata.performedApril2020RetentionPolicyChange ?? false
|
||||
shouldHandleRetentionPolicyChange = !didHandlePolicyChange
|
||||
}
|
||||
|
||||
DispatchQueue.main.async {
|
||||
if shouldHandleRetentionPolicyChange {
|
||||
// Handle one-time database changes made necessary by April 2020 retention policy change.
|
||||
self.database.performApril2020RetentionPolicyChange()
|
||||
self.metadata.performedApril2020RetentionPolicyChange = true
|
||||
}
|
||||
|
||||
self.database.cleanupDatabaseAtStartup(subscribedToWebFeedIDs: self.flattenedWebFeeds().webFeedIDs())
|
||||
self.fetchAllUnreadCounts()
|
||||
}
|
||||
|
||||
@@ -83,13 +83,7 @@ final class AccountMetadata: Codable {
|
||||
}
|
||||
}
|
||||
|
||||
var performedApril2020RetentionPolicyChange: Bool? {
|
||||
didSet {
|
||||
if performedApril2020RetentionPolicyChange != oldValue {
|
||||
valueDidChange(.performedApril2020RetentionPolicyChange)
|
||||
}
|
||||
}
|
||||
}
|
||||
var performedApril2020RetentionPolicyChange: Bool? // No longer used.
|
||||
|
||||
var externalID: String? {
|
||||
didSet {
|
||||
|
||||
@@ -296,24 +296,6 @@ public final class ArticlesDatabase {
|
||||
articlesTable.deleteArticlesNotInSubscribedToFeedIDs(subscribedToWebFeedIDs)
|
||||
articlesTable.deleteOldStatuses()
|
||||
}
|
||||
|
||||
/// Do database cleanups made necessary by the retention policy change in April 2020.
|
||||
///
|
||||
/// The retention policy for feed-based systems changed in April 2020:
|
||||
/// we keep articles only for as long as they’re in the feed.
|
||||
/// This change could result in a bunch of older articles suddenly
|
||||
/// appearing as unread articles.
|
||||
///
|
||||
/// These are articles that were in the database,
|
||||
/// but weren’t appearing in the UI because they were beyond the 90-day window.
|
||||
/// (The previous retention policy used a 90-day window.)
|
||||
///
|
||||
/// This function marks everything as read that’s beyond that 90-day window.
|
||||
/// It’s intended to be called only once on an account.
|
||||
public func performApril2020RetentionPolicyChange() {
|
||||
precondition(retentionStyle == .feedBased)
|
||||
articlesTable.markOlderStatusesAsRead()
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: - Private
|
||||
|
||||
Reference in New Issue
Block a user