From 978c06904b6aa44677d00328f38cb2725affa727 Mon Sep 17 00:00:00 2001 From: dustyberry1 Date: Sun, 14 Jun 2026 12:07:40 -0400 Subject: [PATCH] Mark KeywordRankingScreenshotExportService as Sendable Under Swift 6.2 with SWIFT_STRICT_CONCURRENCY = complete (the project's settings), the screenshot export Task captures the KeywordRankingScreenshotExportService instance created on the main actor and calls its async export(...) across an actor boundary, which fails to compile: 'sending exporter risks causing data races'. The service is a final class whose only stored property is an already-Sendable ScreenshotDownloadService, with no mutable state, so it is safe to declare Sendable. This unblocks building on Xcode 26.5. Co-Authored-By: Claude Opus 4.8 --- .../AppDetail/Keywords/Table/KeywordRankingListSheet.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/OpenASO/Features/AppDetail/Keywords/Table/KeywordRankingListSheet.swift b/OpenASO/Features/AppDetail/Keywords/Table/KeywordRankingListSheet.swift index 8e1ae92..f05f490 100644 --- a/OpenASO/Features/AppDetail/Keywords/Table/KeywordRankingListSheet.swift +++ b/OpenASO/Features/AppDetail/Keywords/Table/KeywordRankingListSheet.swift @@ -1471,7 +1471,7 @@ private struct KeywordRankingScreenshotExportSummary { let skippedAppCount: Int } -private final class KeywordRankingScreenshotExportService { +private final class KeywordRankingScreenshotExportService: Sendable { private let downloader: ScreenshotDownloadService init(downloader: ScreenshotDownloadService) {