From 078c5dbb5c063570054ba930e75067b18d265205 Mon Sep 17 00:00:00 2001 From: Maurice Parker Date: Wed, 8 Jan 2020 11:06:41 -0700 Subject: [PATCH] Reset the timeline middle position anytime we replace the articles. Issue #1565 --- iOS/SceneCoordinator.swift | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/iOS/SceneCoordinator.swift b/iOS/SceneCoordinator.swift index 441b3fb05..3cf46a1d0 100644 --- a/iOS/SceneCoordinator.swift +++ b/iOS/SceneCoordinator.swift @@ -257,7 +257,12 @@ class SceneCoordinator: NSObject, UndoableCommandRunner, UnreadCountProvider { var currentArticle: Article? - private(set) var articles = ArticleArray() + private(set) var articles = ArticleArray() { + didSet { + timelineMiddleIndexPath = nil + } + } + private var currentArticleRow: Int? { guard let article = currentArticle else { return nil } return articles.firstIndex(of: article) @@ -1230,7 +1235,6 @@ private extension SceneCoordinator { func setTimelineFeed(_ feed: Feed?, animated: Bool, completion: (() -> Void)? = nil) { timelineFeed = feed - timelineMiddleIndexPath = nil fetchAndReplaceArticlesAsync(animated: animated) { self.masterTimelineViewController?.reinitializeArticles(resetScroll: true) @@ -1497,7 +1501,6 @@ private extension SceneCoordinator { func emptyTheTimeline() { if !articles.isEmpty { - timelineMiddleIndexPath = nil replaceArticles(with: Set
(), animated: false) } }