Build Information
Successful build of Flagship, reference master (b1edcf), with Swift 6.1 for macOS (SPM) on 30 Sep 2026 23:53:34 UTC.
Swift 6 data race errors: 7
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[42/90] Compiling Flagship FSError.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:18:14: warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
16 |
17 | // Flagship Error
18 | public class FlagshipError: Error {
| `- warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
19 | var message = ""
20 | var error: ErrorType
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:19:9: warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
17 | // Flagship Error
18 | public class FlagshipError: Error {
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[43/90] Compiling Flagship FSLogManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:18:14: warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
16 |
17 | // Flagship Error
18 | public class FlagshipError: Error {
| `- warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
19 | var message = ""
20 | var error: ErrorType
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:19:9: warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
17 | // Flagship Error
18 | public class FlagshipError: Error {
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[44/90] Compiling Flagship FlagshipConstants.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:18:14: warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
16 |
17 | // Flagship Error
18 | public class FlagshipError: Error {
| `- warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
19 | var message = ""
20 | var error: ErrorType
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:19:9: warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
17 | // Flagship Error
18 | public class FlagshipError: Error {
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[45/90] Compiling Flagship FlagshipLogManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:18:14: warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
16 |
17 | // Flagship Error
18 | public class FlagshipError: Error {
| `- warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
19 | var message = ""
20 | var error: ErrorType
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:19:9: warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
17 | // Flagship Error
18 | public class FlagshipError: Error {
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[46/90] Compiling Flagship FSAccountSettings.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:18:14: warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
16 |
17 | // Flagship Error
18 | public class FlagshipError: Error {
| `- warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
19 | var message = ""
20 | var error: ErrorType
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:19:9: warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
17 | // Flagship Error
18 | public class FlagshipError: Error {
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[47/90] Compiling Flagship FSBucket.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:18:14: warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
16 |
17 | // Flagship Error
18 | public class FlagshipError: Error {
| `- warning: non-final class 'FlagshipError' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
19 | var message = ""
20 | var error: ErrorType
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Logger/FSError.swift:19:9: warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
17 | // Flagship Error
18 | public class FlagshipError: Error {
19 | var message = ""
| `- warning: stored property 'message' of 'Sendable'-conforming class 'FlagshipError' is mutable; this is an error in the Swift 6 language mode
20 | var error: ErrorType
21 | let codeError: Int
[48/90] Compiling Flagship FSCacheManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[49/90] Compiling Flagship FSDefaultCache.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[50/90] Compiling Flagship FSConfigManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[51/90] Compiling Flagship FSTrackingManagerConfig.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[52/90] Compiling Flagship FlagshipConfig.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[53/90] Compiling Flagship FSExposedFlag.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[54/90] Compiling Flagship FSFlagMetadata.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[55/90] Compiling Flagship FSStatus.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[56/90] Compiling Flagship FSVisitor+Campaigns.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:89:31: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
87 | /// Ask the delegate to lookup the visitor
88 | fsCacheQueue.async {
89 | if let dataJson = self.cacheVisitorDelegate?.lookupVisitor(visitorId: visitoId) {
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
90 | do {
91 | /// Should check the version of code before set the decoder
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:93:21: warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
91 | /// Should check the version of code before set the decoder
92 | let result = try JSONDecoder().decode(FSCacheVisitor.self, from: dataJson)
93 | onCompletion(nil, result)
| |- warning: capture of 'onCompletion' with non-sendable type '(FlagshipError?, FSCacheVisitor?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
94 | } catch {
95 | onCompletion(FlagshipError(message: "Error on decode visitor data from cache", type: .internalError, code: 400), nil)
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:133:34: warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
131 | /// Ask the delegate to lookup the hits
132 | fsHitCacheQueue.async {
133 | let remainedTracks = self.hitCacheDelegate?.lookupHits()
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in a '@Sendable' closure
134 | var cachedHitsFromDb: [FSTrackingProtocol] = []
135 | remainedTracks?.forEach { (id: String, value: [String: Any]) in
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:153:13: warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
151 | }
152 | }
153 | onCompletion(nil, cachedHitsFromDb)
| |- warning: capture of 'onCompletion' with non-sendable type '((any Error)?, [any FSTrackingProtocol]?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
154 | semaphore.signal()
155 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Cache/FSCacheManager.swift:146:25: warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
9 |
10 | /// Cache mangaer
11 | @objc public class FSCacheManager: NSObject {
| `- note: class 'FSCacheManager' does not conform to the 'Sendable' protocol
12 | /// Visitor cache lookup timeout in milliseconds.
13 | public var visitorCacheLookupTimeout: TimeInterval = 0.2 /// _ 0.2 second
:
144 | } else {
145 | // Remove from the DB because the hit is no longer valide
146 | self.hitCacheDelegate?.flushHits(hitIds: [id])
| `- warning: capture of 'self' with non-sendable type 'FSCacheManager' in an isolated closure; this is an error in the Swift 6 language mode
147 | }
148 | } catch {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:12:12: warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
10 |
11 | // Default value for Pool Size Max
12 | public var POOL_SIZE_MAX: Int = 10
| |- warning: var 'POOL_SIZE_MAX' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'POOL_SIZE_MAX' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'POOL_SIZE_MAX' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 | // Batch Interval Time
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Configs/FSTrackingManagerConfig.swift:15:12: warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 |
14 | // Batch Interval Time
15 | public var BATCH_INTERVAL_TIME: Double = 5
| |- warning: var 'BATCH_INTERVAL_TIME' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'BATCH_INTERVAL_TIME' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'BATCH_INTERVAL_TIME' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 |
17 | public enum FSCacheStrategy: Int {
[57/90] Compiling Flagship Data+PrettyPrint.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[58/90] Compiling Flagship FSGenerator.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[59/90] Compiling Flagship FSTools.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[60/90] Compiling Flagship FlagShipVersion.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[61/90] Compiling Flagship decode-json-swift.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[62/90] Compiling Flagship murmurhash3.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[63/90] Compiling Flagship FSBatchManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[64/90] Compiling Flagship FSPoolQueue.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:17: warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: generic class 'FSQueue' does not conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'self' with non-sendable type 'FSQueue<T>' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSPoolQueue.swift:25:35: warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
9 | import Foundation
10 |
11 | class FSQueue<T> {
| `- note: consider making generic parameter 'T' conform to the 'Sendable' protocol
12 |
13 | private let queuePool = DispatchQueue(label: "batch.queue", attributes: .concurrent)
:
23 | set {
24 | queuePool.async(flags: .barrier) {
25 | self._listQueue = newValue
| `- warning: capture of 'newValue' with non-sendable type '[T]' in a '@Sendable' closure
26 | }
27 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Tracking/Batch/FSBatchManager.swift:122:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
120 | // Batch Queue Start
121 | DispatchQueue.main.async {
122 | self.batchTimer?.suspend()
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
123 | // Process the activate pool if is not empty
124 | if !self.activateQueue.isEmpty() {
[65/90] Compiling Flagship FSStorageManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[66/90] Compiling Flagship FSTrackingDbMgt.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[67/90] Compiling Flagship FSVisitorDbMgt.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[68/90] Compiling Flagship FSDefaultStrategy.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[69/90] Compiling Flagship FSNoConsentStrategy.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[70/90] Compiling Flagship FSNotReadyStrategy.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[71/90] Compiling Flagship FSPanicStrategy.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[72/90] Compiling Flagship FSQAssistantStrategy.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:46:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
44 | queue: .main
45 | ) { [weak self] _ in
46 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
47 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("✅ FSStrategy: QA Assistant started — switching to QAssistantStrategy"))
48 | Flagship.sharedInstance.isQAAssistantConnected = true
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:80:30: warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
10 | import UIKit
11 | #endif
12 | class FSStrategy {
| `- note: class 'FSStrategy' does not conform to the 'Sendable' protocol
13 | let visitor: FSVisitor
14 |
:
78 | queue: .main
79 | ) { [weak self] _ in
80 | guard let self = self else { return }
| `- warning: capture of 'self' with non-sendable type 'FSStrategy?' in a '@Sendable' closure
81 | FlagshipLogManager.Log(level: .ALL, tag: .VISITOR, messageToDisplay: FSLogMessage.MESSAGE("⏹️ FSStrategy: QA Assistant stopped — switching back to normal strategy"))
82 | Flagship.sharedInstance.isQAAssistantConnected = false
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:44:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
42 | let modObs = nc.addObserver(forName: .fsQAModificationMessage, object: nil, queue: .main) { [weak self] note in
43 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQAModificationMessage else { return }
44 | self?.handleModificationMessage(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
45 | }
46 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:48:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
46 |
47 | let ctxObs = nc.addObserver(forName: .fsQAUserContextRequest, object: nil, queue: .main) { [weak self] _ in
48 | self?.handleUserContextRequest()
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
49 | }
50 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSQAssistantStrategy.swift:53:13: warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
16 | /// Strategy that intercepts flag resolution and hit tracking for the QA Assistant.
17 | /// QassistantStrategy, replacing Dart streams with NotificationCenter.
18 | class FSQAssistantStrategy: FSDefaultStrategy {
| `- note: class 'FSQAssistantStrategy' does not conform to the 'Sendable' protocol
19 | /// QA-forced flag modifications that override production values
20 | var qaModifications: [String: FSModification] = [:]
:
51 | let actionObs = nc.addObserver(forName: .fsQACampaignAction, object: nil, queue: .main) { [weak self] note in
52 | guard let msg = note.userInfo?[FSQANotificationKey.message] as? FSQACampaignActionMessage else { return }
53 | self?.handleCampaignAction(msg)
| `- warning: capture of 'self' with non-sendable type 'FSQAssistantStrategy?' in a '@Sendable' closure
54 | }
55 |
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:346:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
344 | DispatchQueue.main.async {
345 | /// Before replacing the oldest visitor cache we should keep the oldest variation
346 | self.visitor.configManager.flagshipConfig.cacheManager.cacheVisitor(self.visitor)
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
347 | }
348 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:378:36: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
376 | // Ensure thread safety for visitor property modifications
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
380 | // Safely merge assignation history
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Strategy/FSDefaultStrategy.swift:379:51: warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
377 | DispatchQueue.main.async { [weak self] in
378 | guard let strongSelf = self else { return }
379 | strongSelf.visitor.mergeCachedVisitor(cachedVisitor)
| |- warning: sending 'cachedVisitor' risks causing data races; this is an error in the Swift 6 language mode
| `- note: task-isolated 'cachedVisitor' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
380 | // Safely merge assignation history
381 | let newHistory = cachedVisitor.data?.assignationHistory ?? [:]
[73/90] Compiling Flagship FSVisitor+EmotionAI.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[74/90] Compiling Flagship FSVisitor+Flags.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[75/90] Compiling Flagship FSVisitor+Reconcilliation.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[76/90] Compiling Flagship FSVisitor+objc.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[77/90] Compiling Flagship FSVisitor.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[78/90] Compiling Flagship FSVisitorBuilder.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[79/90] Compiling Flagship FSVisitorExposed.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[80/90] Compiling Flagship FSFlag+Additions.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[81/90] Compiling Flagship FSFlag.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor+Reconcilliation.swift:78:16: warning: value 'strategy' was defined but never used; consider replacing with boolean test
76 |
77 | // Copy strategy if needed
78 | if let strategy = self.strategy {
| `- warning: value 'strategy' was defined but never used; consider replacing with boolean test
79 | copiedVisitor.strategy = FSStrategy(copiedVisitor)
80 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:17: warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
26 |
27 | /// Visitor class
28 | @objc public class FSVisitor: NSObject {
| `- note: class 'FSVisitor' does not conform to the 'Sendable' protocol
29 | let fsQueue = DispatchQueue(label: "com.flagshipVisitor.queue", attributes: .concurrent)
30 | /// visitor id
:
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'self' with non-sendable type 'FSVisitor' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Core/FSVisitor.swift:51:38: warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
49 | set {
50 | self.fsQueue.async(flags: .barrier) {
51 | self._currentFlags = newValue
| `- warning: capture of 'newValue' with non-sendable type '[String : FSModification]' in a '@Sendable' closure
52 | }
53 | }
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/Models/FSModification.swift:10:14: note: class 'FSModification' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | public class FSModification {
| `- note: class 'FSModification' does not conform to the 'Sendable' protocol
11 | // CampaignId
12 | let campaignId:String
[82/90] Compiling Flagship FSConstant.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[83/90] Compiling Flagship FSService+Bucketing.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[84/90] Compiling Flagship FSService+Request.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[85/90] Compiling Flagship FSService.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[86/90] Compiling Flagship FSSettings.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[87/90] Compiling Flagship FSDevice.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[88/90] Compiling Flagship FlagshipContext.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[89/90] Compiling Flagship FlagshipContextManager.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
[90/90] Compiling Flagship FSCacheDelegate.swift
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:36:25: warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
34 | case 200:
35 | /// Manage last modified
36 | self.manageLastModified(httpResponse)
| `- warning: capture of 'self' with non-sendable type 'FSService' in a '@Sendable' closure
37 |
38 | if let responseData = data {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService.swift:10:7: note: class 'FSService' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | class FSService {
| `- note: class 'FSService' does not conform to the 'Sendable' protocol
11 | /// clientId
12 | var envId: String
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Bucketing.swift:44:33: warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
42 |
43 | let scriptObject = try JSONDecoder().decode(FSBucket.self, from: responseData)
44 | onGetScript(scriptObject, nil)
| |- warning: capture of 'onGetScript' with non-sendable type '(FSBucket?, FlagshipError?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
45 |
46 | /// Save bucket script
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSService+Request.swift:55:21: warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
53 | DispatchQueue.main.async {
54 | if error != nil {
55 | onCompleted(nil, error)
| |- warning: capture of 'onCompleted' with non-sendable type '(Data?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
56 | FSDataUsageTracking.sharedInstance.processTSHttpError(requestType: type, response as? HTTPURLResponse, request, data)
57 | } else {
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:27:21: warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
25 | if let aData = data {
26 | let accountSettingsObject = try JSONDecoder().decode(FSExtras.self, from: aData)
27 | completion(accountSettingsObject, nil)
| |- warning: capture of 'completion' with non-sendable type '(FSExtras?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
28 |
29 | // Update TroubleShooting
/Users/admin/builder/spi-builder-workspace/FlagShip/Source/API/FSSettings.swift:60:25: warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
58 | if httpResponse.statusCode == 204 {
59 | // Clean code later
60 | completion(nil, httpResponse.statusCode)
| |- warning: capture of 'completion' with non-sendable type '(String?, Int) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
61 | } else if httpResponse.statusCode == 200 {
62 | do {
Build complete! (8.17s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "Flagship",
"name" : "Flagship",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
}
],
"products" : [
{
"name" : "Flagship",
"targets" : [
"Flagship"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "Flagship",
"module_type" : "SwiftTarget",
"name" : "Flagship",
"path" : "FlagShip/Source",
"product_memberships" : [
"Flagship"
],
"sources" : [
"API/FSConstant.swift",
"API/FSService+Bucketing.swift",
"API/FSService+Request.swift",
"API/FSService.swift",
"API/FSSettings.swift",
"Audience/FSDevice.swift",
"Audience/FlagshipContext.swift",
"Audience/FlagshipContextManager.swift",
"Cache/FSCacheDelegate.swift",
"Cache/FSCacheManager.swift",
"Cache/FSDefaultCache.swift",
"Configs/FSConfigManager.swift",
"Configs/FSTrackingManagerConfig.swift",
"Configs/FlagshipConfig.swift",
"Core/FSExposedFlag.swift",
"Core/FSFlagMetadata.swift",
"Core/FSStatus.swift",
"Core/FSVisitor+Campaigns.swift",
"Core/FSVisitor+EmotionAI.swift",
"Core/FSVisitor+Flags.swift",
"Core/FSVisitor+Reconcilliation.swift",
"Core/FSVisitor+objc.swift",
"Core/FSVisitor.swift",
"Core/FSVisitorBuilder.swift",
"Core/FSVisitorExposed.swift",
"Core/Flag/FSFlag+Additions.swift",
"Core/Flag/FSFlag.swift",
"Core/Flagship+EmotionAI.swift",
"Core/Flagship.swift",
"Decision/Bucketing/FSBucketingManager.swift",
"Decision/Bucketing/FSPollingScript.swift",
"Decision/Bucketing/FSTargetingManager.swift",
"Decision/FSDecisionManager.swift",
"FSEmotionAI/FSDataUsageTracking+EmotionAI.swift",
"FSEmotionAI/FSEmotionAI.swift",
"FSEmotionAI/FSEmotionEvent.swift",
"FSEmotionAI/FSEmotionPageView.swift",
"FSEmotionAI/FSPollingScore.swift",
"FSEmotionAI/FSWindow.swift",
"Logger/FSError.swift",
"Logger/FSLogManager.swift",
"Logger/FlagshipConstants.swift",
"Logger/FlagshipLogManager.swift",
"Models/FSAccountSettings.swift",
"Models/FSBucket.swift",
"Models/FSCacheVisitor.swift",
"Models/FSCampaign.swift",
"Models/FSCampaigns.swift",
"Models/FSContext.swift",
"Models/FSModification.swift",
"Models/FSModifications.swift",
"Models/FSTargets.swift",
"Models/FSTroubleshooting.swift",
"Models/Tracking/FSBatch.swift",
"Models/Tracking/FSCacheHit.swift",
"Models/Tracking/FSHits.swift",
"Models/Tracking/FSSegment.swift",
"Models/Tracking/FSTracking+Codable.swift",
"Models/Tracking/FSTracking.swift",
"ServiceLocator/FSQAMessageService.swift",
"Storage/FSBucketCache.swift",
"Storage/FSQLiteWrapper.swift",
"Storage/FSStorage.swift",
"Storage/FSStorageManager.swift",
"Storage/FSTrackingDbMgt.swift",
"Storage/FSVisitorDbMgt.swift",
"Strategy/FSDefaultStrategy.swift",
"Strategy/FSNoConsentStrategy.swift",
"Strategy/FSNotReadyStrategy.swift",
"Strategy/FSPanicStrategy.swift",
"Strategy/FSQAssistantStrategy.swift",
"Tools/Data+PrettyPrint.swift",
"Tools/FSGenerator.swift",
"Tools/FSTools.swift",
"Tools/FlagShipVersion.swift",
"Tools/decode-json-swift.swift",
"Tools/murmurhash3.swift",
"Tracking/Batch/FSBatchManager.swift",
"Tracking/Batch/FSPoolQueue.swift",
"Tracking/FSITrackingManager.swift",
"Tracking/FSTrackingManager.swift",
"Tracking/TrackingStrategies/FSContinuousTrackingManager.swift",
"Tracking/TrackingStrategies/FSPeriodicTrackingManager.swift",
"Troubleshooting/FSDataReportUsage.swift",
"Troubleshooting/FSDataUsageTracking+Criticals.swift",
"Troubleshooting/FSDataUsageTracking+Tools.swift",
"Troubleshooting/FSDataUsageTracking.swift"
],
"type" : "library"
}
],
"tools_version" : "5.1"
}
Done.