From 9bffd090f375015354297b825b41c11f4852ba9a Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Mon, 28 Oct 2024 22:43:16 -0700 Subject: [PATCH] Add logging to TimelineViewController. --- .../Timeline/TimelineViewController.swift | 24 ++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/Mac/MainWindow/Timeline/TimelineViewController.swift b/Mac/MainWindow/Timeline/TimelineViewController.swift index 5e3af714c..0a080427a 100644 --- a/Mac/MainWindow/Timeline/TimelineViewController.swift +++ b/Mac/MainWindow/Timeline/TimelineViewController.swift @@ -30,6 +30,9 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr @IBOutlet var tableView: TimelineTableView! + nonisolated(unsafe) private static let logger = Logger(subsystem: Bundle.main.bundleIdentifier!, category: "TimelineViewController") + private let debugLoggingEnabled = true + private var readFilterEnabledTable = [SidebarItemIdentifier: Bool]() var isReadFiltered: Bool? { guard representedObjects?.count == 1, let timelineFeed = representedObjects?.first as? SidebarItem else { @@ -65,6 +68,9 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr var representedObjects: [AnyObject]? { didSet { + if debugLoggingEnabled { + Self.logger.log(level: .debug, "TimelineViewController - did set representedObjects") + } guard !representedObjectArraysAreEqual(oldValue, representedObjects) else { return } @@ -562,18 +568,26 @@ final class TimelineViewController: NSViewController, UndoableCommandRunner, Unr func goToNextUnread(wrappingToTop wrapping: Bool = false) { guard let ix = indexOfNextUnreadArticle() else { + if debugLoggingEnabled { + Self.logger.log(level: .debug, "TimelineViewController - goToNextUnread — no index of next unread") + } return } + + if debugLoggingEnabled { + Self.logger.log(level: .debug, "TimelineViewController - goToNextUnread — going to index \(ix)") + } NSCursor.setHiddenUntilMouseMoves(true) tableView.selectRow(ix) tableView.scrollTo(row: ix) } func canGoToNextUnread(wrappingToTop wrapping: Bool = false) -> Bool { - guard let _ = indexOfNextUnreadArticle(wrappingToTop: wrapping) else { - return false + let canGo = indexOfNextUnreadArticle(wrappingToTop: wrapping) != nil + if debugLoggingEnabled { + Self.logger.log(level: .debug, "TimelineViewController - canGoToNextUnread -> \(canGo)") } - return true + return canGo } func indexOfNextUnreadArticle(wrappingToTop wrapping: Bool = false) -> Int? { @@ -1111,6 +1125,10 @@ private extension TimelineViewController { func fetchAndReplaceArticles() async { + if debugLoggingEnabled { + Self.logger.log(level: .debug, "TimelineViewController - fetchAndReplaceArticles") + } + cancelPendingAsyncFetches() guard var representedObjects = representedObjects else {