Continue fixing concurrency warnings.

This commit is contained in:
Brent Simmons
2024-03-19 23:05:30 -07:00
parent 6ab10e871c
commit d0760f3d12
64 changed files with 444 additions and 459 deletions

View File

@@ -11,7 +11,7 @@ import Account
struct AddFeedDefaultContainer {
static var defaultContainer: Container? {
@MainActor static var defaultContainer: Container? {
if let accountID = AppDefaults.shared.addFeedAccountID, let account = AccountManager.shared.activeAccounts.first(where: { $0.accountID == accountID }) {
if let folderName = AppDefaults.shared.addFeedFolderName, let folder = account.existingFolder(withDisplayName: folderName) {

View File

@@ -10,7 +10,7 @@ import Foundation
import Articles
import RSParser
struct ArticleStringFormatter {
@MainActor struct ArticleStringFormatter {
private static var feedNameCache = [String: String]()
private static var titleCache = [String: String]()

View File

@@ -13,7 +13,7 @@ import Account
// These handle multiple accounts.
func markArticles(_ articles: Set<Article>, statusKey: ArticleStatus.Key, flag: Bool, completion: (() -> Void)? = nil) {
@MainActor func markArticles(_ articles: Set<Article>, statusKey: ArticleStatus.Key, flag: Bool, completion: (() -> Void)? = nil) {
let d: [String: Set<Article>] = accountAndArticlesDictionary(articles)
@@ -42,7 +42,7 @@ private func accountAndArticlesDictionary(_ articles: Set<Article>) -> [String:
extension Article {
var feed: Feed? {
@MainActor var feed: Feed? {
return account?.existingFeed(withFeedID: feedID)
}
@@ -98,7 +98,7 @@ extension Article {
return datePublished ?? dateModified ?? status.dateArrived
}
var isAvailableToMarkUnread: Bool {
@MainActor var isAvailableToMarkUnread: Bool {
guard let markUnreadWindow = account?.behaviors.compactMap( { behavior -> Int? in
switch behavior {
case .disallowMarkAsUnreadAfterPeriod(let days):
@@ -117,11 +117,11 @@ extension Article {
}
}
func iconImage() -> IconImage? {
@MainActor func iconImage() -> IconImage? {
return IconImageCache.shared.imageForArticle(self)
}
func iconImageUrl(feed: Feed) -> URL? {
@MainActor func iconImageUrl(feed: Feed) -> URL? {
if let image = iconImage() {
let fm = FileManager.default
var path = fm.urls(for: .cachesDirectory, in: .userDomainMask)[0]
@@ -138,7 +138,7 @@ extension Article {
}
}
func byline() -> String {
@MainActor func byline() -> String {
guard let authors = authors ?? feed?.authors, !authors.isEmpty else {
return ""
}
@@ -199,7 +199,7 @@ struct ArticlePathKey {
extension Article {
public var pathUserInfo: [AnyHashable : Any] {
@MainActor public var pathUserInfo: [AnyHashable : Any] {
return [
ArticlePathKey.accountID: accountID,
ArticlePathKey.accountName: account?.nameForDisplay ?? "",
@@ -214,7 +214,7 @@ extension Article {
extension Article: SortableArticle {
var sortableName: String {
@MainActor var sortableName: String {
return feed?.name ?? ""
}

View File

@@ -27,7 +27,7 @@ extension Account: SmallIconProvider {
extension Feed: SmallIconProvider {
var smallIcon: IconImage? {
@MainActor var smallIcon: IconImage? {
if let iconImage = appDelegate.faviconDownloader.favicon(for: self) {
return iconImage
}