diff --git a/Mac/Base.lproj/Preferences.storyboard b/Mac/Base.lproj/Preferences.storyboard index 051bc1082..d3dd9dbac 100644 --- a/Mac/Base.lproj/Preferences.storyboard +++ b/Mac/Base.lproj/Preferences.storyboard @@ -31,31 +31,23 @@ - - + + - + - + - - - - - - - - - + @@ -84,7 +76,7 @@ - + @@ -99,7 +91,7 @@ - + - + @@ -120,7 +112,7 @@ - + @@ -135,7 +127,7 @@ - + @@ -163,10 +155,10 @@ - + - + @@ -174,7 +166,7 @@ - + @@ -209,7 +201,7 @@ - + @@ -217,7 +209,7 @@ - + - @@ -279,19 +251,16 @@ - - - - + @@ -299,7 +268,6 @@ - @@ -314,8 +282,6 @@ - - @@ -521,16 +487,16 @@ - + - + - + - + @@ -637,7 +603,7 @@ - + @@ -692,16 +658,16 @@ - + - + - + - + @@ -804,7 +770,7 @@ - + diff --git a/iOS/MasterTimeline/MasterTimelineViewController.swift b/iOS/MasterTimeline/MasterTimelineViewController.swift index c91011cb1..09c08aa7b 100644 --- a/iOS/MasterTimeline/MasterTimelineViewController.swift +++ b/iOS/MasterTimeline/MasterTimelineViewController.swift @@ -82,7 +82,7 @@ class MasterTimelineViewController: PullUpToMarkAsReadTableViewController, Undoa numberOfTextLines = AppDefaults.shared.timelineNumberOfLines iconSize = AppDefaults.shared.timelineIconSize resetEstimatedRowHeight() - + if let titleView = Bundle.main.loadNibNamed("MasterTimelineTitleView", owner: self, options: nil)?[0] as? MasterTimelineTitleView { navigationItem.titleView = titleView } @@ -577,8 +577,12 @@ class MasterTimelineViewController: PullUpToMarkAsReadTableViewController, Undoa } @objc private func reloadAllVisibleCells() { - let visibleArticles = tableView.indexPathsForVisibleRows!.compactMap { return dataSource.itemIdentifier(for: $0) } - reloadCells(visibleArticles) + if #available(iOS 15, *) { + reconfigureCells(coordinator.articles) + } else { + let visibleArticles = tableView.indexPathsForVisibleRows!.compactMap { return dataSource.itemIdentifier(for: $0) } + reloadCells(visibleArticles) + } } private func reloadCells(_ articles: [Article]) { @@ -588,6 +592,15 @@ class MasterTimelineViewController: PullUpToMarkAsReadTableViewController, Undoa self?.restoreSelectionIfNecessary(adjustScroll: false) } } + + private func reconfigureCells(_ articles: [Article]) { + guard #available(iOS 15, *) else { return } + var snapshot = dataSource.snapshot() + snapshot.reconfigureItems(articles) + dataSource.apply(snapshot, animatingDifferences: false) { [weak self] in + self?.restoreSelectionIfNecessary(adjustScroll: false) + } + } // MARK: Cell Configuring diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index 1c6a526b9..c8a7f9138 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -2245,7 +2245,7 @@ private extension SceneCoordinator { guard let smartFeed = SmartFeedsController.shared.find(by: feedIdentifier) else { return } markExpanded(SmartFeedsController.shared) - rebuildBackingStores(completion: { + rebuildBackingStores(initialLoad: true, completion: { self.treeControllerDelegate.resetFilterExceptions() if let indexPath = self.indexPathFor(smartFeed) { self.selectFeed(indexPath: indexPath) { @@ -2265,7 +2265,7 @@ private extension SceneCoordinator { markExpanded(account) - rebuildBackingStores(completion: { + rebuildBackingStores(initialLoad: true, completion: { self.treeControllerDelegate.resetFilterExceptions() if let folderNode = self.findFolderNode(folderName: folderName, beginningAt: accountNode), let indexPath = self.indexPathFor(folderNode) { diff --git a/iOS/Settings/Settings.storyboard b/iOS/Settings/Settings.storyboard index e77cb6ce0..e36af8d35 100644 --- a/iOS/Settings/Settings.storyboard +++ b/iOS/Settings/Settings.storyboard @@ -1,9 +1,9 @@ - + - + @@ -21,14 +21,14 @@ - + - + - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +