Fix a few concurrency warnings.

This commit is contained in:
Brent Simmons 2024-05-03 12:05:53 -07:00
parent 81cede769a
commit 19fd3d96ab
6 changed files with 10 additions and 9 deletions

View File

@ -20,7 +20,7 @@ public extension Notification.Name {
public protocol FeedIconDownloaderDelegate: Sendable {
var appIconImage: IconImage? { get }
@MainActor var appIconImage: IconImage? { get }
func downloadMetadata(_ url: String) async throws -> RSHTMLMetadata?
}

View File

@ -11,14 +11,14 @@ import WebKit
import Articles
final class DetailIconSchemeHandler: NSObject, WKURLSchemeHandler {
var currentArticle: Article?
func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) {
Task { @MainActor in
guard let responseURL = urlSchemeTask.request.url, let iconImage = self.currentArticle?.iconImage() else {
guard let responseURL = urlSchemeTask.request.url, let iconImage = self.currentArticle?.iconImage() else {
urlSchemeTask.didFailWithError(URLError(.fileDoesNotExist))
return
}

View File

@ -9,7 +9,8 @@
import Foundation
protocol ScriptingObject {
var objectSpecifier: NSScriptObjectSpecifier? { get }
@MainActor var objectSpecifier: NSScriptObjectSpecifier? { get }
@MainActor var scriptingKey: String { get }
}

View File

@ -18,6 +18,6 @@ extension AppDelegate: FaviconDownloaderDelegate, FeedIconDownloaderDelegate {
func downloadMetadata(_ url: String) async throws -> RSHTMLMetadata? {
try await HTMLMetadataDownloader.downloadMetadata(for: url)
await HTMLMetadataDownloader.downloadMetadata(for: url)
}
}

View File

@ -50,7 +50,7 @@ extension Array where Element == Article {
})
}
func sortedByDate(_ sortDirection: ComparisonResult, groupByFeed: Bool = false) -> ArticleArray {
@MainActor func sortedByDate(_ sortDirection: ComparisonResult, groupByFeed: Bool = false) -> ArticleArray {
return ArticleSorter.sortedByDate(articles: self, sortDirection: sortDirection, groupByFeed: groupByFeed)
}

View File

@ -11,7 +11,7 @@ import Foundation
protocol SortableArticle {
var sortableName: String { get }
@MainActor var sortableName: String { get }
var sortableDate: Date { get }
var sortableArticleID: String { get }
var sortableFeedID: String { get }
@ -19,7 +19,7 @@ protocol SortableArticle {
struct ArticleSorter {
static func sortedByDate<T: SortableArticle>(articles: [T],
@MainActor static func sortedByDate<T: SortableArticle>(articles: [T],
sortDirection: ComparisonResult,
groupByFeed: Bool) -> [T] {
if groupByFeed {
@ -31,7 +31,7 @@ struct ArticleSorter {
// MARK: -
private static func sortedByFeedName<T: SortableArticle>(articles: [T],
@MainActor private static func sortedByFeedName<T: SortableArticle>(articles: [T],
sortByDateDirection: ComparisonResult) -> [T] {
// Group articles by "feed-feedID" - feed ID is used to differentiate between
// two feeds that have the same name