From 8bbf4d8c6057bf3acb58a005d457b657bd691923 Mon Sep 17 00:00:00 2001 From: Brent Simmons Date: Wed, 5 Apr 2023 18:35:34 -0700 Subject: [PATCH] Continue adopting @MainActor. --- Account/Sources/Account/AccountManager.swift | 6 ++++-- Mac/MainWindow/Detail/DetailIconSchemeHandler.swift | 2 +- Mac/MainWindow/Detail/DetailStatusBarView.swift | 2 +- Mac/MainWindow/Detail/DetailViewController.swift | 2 +- Mac/MainWindow/Detail/DetailWebView.swift | 2 +- Mac/MainWindow/Detail/DetailWebViewController.swift | 2 +- 6 files changed, 9 insertions(+), 7 deletions(-) diff --git a/Account/Sources/Account/AccountManager.swift b/Account/Sources/Account/AccountManager.swift index 0989691cc..abdf4d154 100644 --- a/Account/Sources/Account/AccountManager.swift +++ b/Account/Sources/Account/AccountManager.swift @@ -246,7 +246,7 @@ public final class AccountManager: UnreadCountProvider { } } - public func refreshAll(errorHandler: @escaping (Error) -> Void, completion: (() -> Void)? = nil) { + public func refreshAll(errorHandler: @escaping @MainActor (Error) -> Void, completion: (() -> Void)? = nil) { guard let reachability = try? Reachability(hostname: "apple.com"), reachability.connection != .unavailable else { return } let group = DispatchGroup() @@ -259,7 +259,9 @@ public final class AccountManager: UnreadCountProvider { case .success: break case .failure(let error): - errorHandler(error) + Task { @MainActor in + errorHandler(error) + } } } } diff --git a/Mac/MainWindow/Detail/DetailIconSchemeHandler.swift b/Mac/MainWindow/Detail/DetailIconSchemeHandler.swift index 4aee30c11..334605cbe 100644 --- a/Mac/MainWindow/Detail/DetailIconSchemeHandler.swift +++ b/Mac/MainWindow/Detail/DetailIconSchemeHandler.swift @@ -10,7 +10,7 @@ import Foundation import WebKit import Articles -class DetailIconSchemeHandler: NSObject, WKURLSchemeHandler { +final class DetailIconSchemeHandler: NSObject, WKURLSchemeHandler { var currentArticle: Article? diff --git a/Mac/MainWindow/Detail/DetailStatusBarView.swift b/Mac/MainWindow/Detail/DetailStatusBarView.swift index eea5f72d2..119f5b112 100644 --- a/Mac/MainWindow/Detail/DetailStatusBarView.swift +++ b/Mac/MainWindow/Detail/DetailStatusBarView.swift @@ -9,7 +9,7 @@ import AppKit import Articles -final class DetailStatusBarView: NSView { +@MainActor final class DetailStatusBarView: NSView { @IBOutlet var urlLabel: NSTextField! diff --git a/Mac/MainWindow/Detail/DetailViewController.swift b/Mac/MainWindow/Detail/DetailViewController.swift index bcfd2533a..e4b099bf4 100644 --- a/Mac/MainWindow/Detail/DetailViewController.swift +++ b/Mac/MainWindow/Detail/DetailViewController.swift @@ -20,7 +20,7 @@ enum DetailState: Equatable { case extracted(Article, ExtractedArticle, CGFloat?) } -final class DetailViewController: NSViewController, WKUIDelegate { +@MainActor final class DetailViewController: NSViewController, WKUIDelegate { @IBOutlet var containerView: DetailContainerView! @IBOutlet var statusBarView: DetailStatusBarView! diff --git a/Mac/MainWindow/Detail/DetailWebView.swift b/Mac/MainWindow/Detail/DetailWebView.swift index 56f5d7812..5bdf0cbfc 100644 --- a/Mac/MainWindow/Detail/DetailWebView.swift +++ b/Mac/MainWindow/Detail/DetailWebView.swift @@ -10,7 +10,7 @@ import AppKit import WebKit import RSCore -final class DetailWebView: WKWebView { +@MainActor final class DetailWebView: WKWebView { weak var keyboardDelegate: KeyboardDelegate? diff --git a/Mac/MainWindow/Detail/DetailWebViewController.swift b/Mac/MainWindow/Detail/DetailWebViewController.swift index 6d669cf5f..36c691c42 100644 --- a/Mac/MainWindow/Detail/DetailWebViewController.swift +++ b/Mac/MainWindow/Detail/DetailWebViewController.swift @@ -17,7 +17,7 @@ protocol DetailWebViewControllerDelegate: AnyObject { func mouseDidExit(_: DetailWebViewController) } -final class DetailWebViewController: NSViewController { +@MainActor final class DetailWebViewController: NSViewController { weak var delegate: DetailWebViewControllerDelegate? var webView: DetailWebView!