Fix a few concurrency warnings.
This commit is contained in:
parent
81cede769a
commit
19fd3d96ab
@ -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?
|
||||
}
|
||||
|
@ -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
|
||||
}
|
||||
|
@ -9,7 +9,8 @@
|
||||
import Foundation
|
||||
|
||||
protocol ScriptingObject {
|
||||
var objectSpecifier: NSScriptObjectSpecifier? { get }
|
||||
|
||||
@MainActor var objectSpecifier: NSScriptObjectSpecifier? { get }
|
||||
@MainActor var scriptingKey: String { get }
|
||||
}
|
||||
|
||||
|
@ -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)
|
||||
}
|
||||
}
|
||||
|
@ -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)
|
||||
}
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
x
Reference in New Issue
Block a user