Build Information
Successful build of blue-triangle, reference 3.15.11 (14c523), with Swift 6.1 for macOS (SPM) on 30 Apr 2026 15:16:27 UTC.
Swift 6 data race errors: 44
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
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
298 | return makeCapturedRequestCollector()
299 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:301:24: warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
299 | }()
300 |
301 | private static var _capturedGroupedViewRequestCollector: CapturedGroupRequestCollecting? = {
| |- warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedGroupedViewRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedGroupedViewRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
302 | return makeCapturedGroupRequestCollector()
303 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:330:25: warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
328 |
329 | //Cache components
330 | internal static var payloadCache : PayloadCacheProtocol = {
| |- warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'payloadCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'payloadCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
331 | PayloadCache.init(configuration.cacheMemoryLimit,
332 | expiry: configuration.cacheExpiryDuration)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:39:33: warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | final class CrashReportManager: CrashReportManaging {
| `- note: class 'CrashReportManager' does not conform to the 'Sendable' protocol
11 |
12 | private let errorMetricStore = ErrorMetricStore()
:
37 | self.intervalProvider = intervalProvider
38 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
39 | guard let session = self?.session() else {
| `- warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | return
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportPersistence.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | struct CrashReportPersistence: CrashReportPersisting {
18 | private static let logger = BTLogger.live
| |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | private static var persistence: Persistence? {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DisableModeSessionManager.swift:99:14: warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
28 | /// - Note: This session manager is used exclusively when `enableAllTracking` is false.
29 | ///
30 | class DisableModeSessionManager : SessionManagerProtocol {
| `- note: class 'DisableModeSessionManager' does not conform to the 'Sendable' protocol
31 |
32 | private var expirationDurationInMS: Millisecond = 30 * 60 * 1000
:
97 | private func updateRemoteConfig(){
98 | queue.async { [weak self] in
99 | self?.updater.update(true) {}
| `- warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:89:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
87 | do {
88 | if let timer = BlueTriangle.recentTimer() {
89 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
90 | let message = String(describing: error)
91 | await errorMetricStore.addError(id: timer.uuid, message: message, line: line)
| `- note: closure captures 'self' which is accessible to code in the current task
92 | }
93 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:107:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
105 |
106 | func uploadErrorForPage(pageName: String, uuid: UUID, segment : String, pageType : String) {
107 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
108 | do {
109 | guard let session = self.session(), let errorMetric = await self.errorMetricStore.flushError(id: uuid) else {
| `- note: closure captures 'self' which is accessible to code in the current task
110 | return
111 | }
[135/152] Compiling BlueTriangle BTTConfigurationFetcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTLogger.swift:118:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
116 |
117 | extension BTLogger {
118 | static let live: Logging = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | BTLogger()
120 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:60:40: warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | class BTSignalCrashReporter {
| `- note: class 'BTSignalCrashReporter' does not conform to the 'Sendable' protocol
29 |
30 | private let directory : String
:
58 | case .nsException:
59 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
60 | guard let strongSelf = self else {
| `- warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | return
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:93:37: warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure
26 | }
27 |
28 | class BTSignalCrashReporter {
| `- note: class 'BTSignalCrashReporter' does not conform to the 'Sendable' protocol
29 |
30 | private let directory : String
:
91 | DispatchQueue.global(qos: .utility).async { [weak self] in
92 | do {
93 | if let strongSelf = self, let session_id = crash.btt_session_id, session_id.count > 0, let sessionId = UInt64(session_id){
| `- warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure
94 | var sessionCopy = session
95 | sessionCopy.sessionID = sessionId
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:94:39: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
92 | do {
93 | if let strongSelf = self, let session_id = crash.btt_session_id, session_id.count > 0, let sessionId = UInt64(session_id){
94 | var sessionCopy = session
| `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
95 | sessionCopy.sessionID = sessionId
96 | let trafficSegment = !crash.trafic_segment.isEmpty ? crash.trafic_segment : session.trafficSegmentName
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/Session.swift:10:8: note: consider making struct 'Session' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | struct Session: Equatable {
| `- note: consider making struct 'Session' conform to the 'Sendable' protocol
11 | var wcd = 1
12 | let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTTimer.swift:273:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'BTTimer.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
250 | // MARK: - Supporting Types
251 | extension BTTimer {
252 | struct Configuration {
| `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
253 | let timeIntervalProvider: () -> TimeInterval
254 |
:
271 | }
272 |
273 | static let live = Self(
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'BTTimer.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
274 | timeIntervalProvider: { Date().timeIntervalSince1970 }
275 | )
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:23:25: warning: static property 'groupTimer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | final public class BlueTriangle: NSObject {
22 |
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
| |- warning: static property 'groupTimer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'groupTimer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'groupTimer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | internal static var configuration = BlueTriangleConfiguration()
25 | internal static let globleProperty = GlobalProperties()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:24:25: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
24 | internal static var configuration = BlueTriangleConfiguration()
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | internal static let globleProperty = GlobalProperties()
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:25:25: warning: static property 'globleProperty' is not concurrency-safe because non-'Sendable' type 'GlobalProperties' may have shared mutable state; this is an error in the Swift 6 language mode
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
24 | internal static var configuration = BlueTriangleConfiguration()
25 | internal static let globleProperty = GlobalProperties()
| |- warning: static property 'globleProperty' is not concurrency-safe because non-'Sendable' type 'GlobalProperties' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'globleProperty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/GlobleProperties.swift:10:13: note: class 'GlobalProperties' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | final class GlobalProperties {
| `- note: class 'GlobalProperties' does not conform to the 'Sendable' protocol
11 |
12 | private let storageKey = Constants.globalPropertiesStoreKey
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:28:24: warning: static property '_screenTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
27 |
28 | private static var _screenTracker: BTTScreenLifecycleTracker?
| |- warning: static property '_screenTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_screenTracker' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_screenTracker' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | internal static var screenTracker: BTTScreenLifecycleTracker?{
30 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:37:24: warning: static property '_networkStateMonitor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 | }
37 | private static var _networkStateMonitor: NetworkStateMonitorProtocol?
| |- warning: static property '_networkStateMonitor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_networkStateMonitor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_networkStateMonitor' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | internal static var networkStateMonitor: NetworkStateMonitorProtocol?{
39 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:47:24: warning: static property '_appInstallTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | }
46 |
47 | private static var _appInstallTracker: AppInstallTracker?
| |- warning: static property '_appInstallTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_appInstallTracker' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_appInstallTracker' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | internal static var appInstallTracker: AppInstallTracker?{
49 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:57:24: warning: static property '_breadcrumbManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
55 | }
56 |
57 | private static var _breadcrumbManager: BreadcrumbManager?
| |- warning: static property '_breadcrumbManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_breadcrumbManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_breadcrumbManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | internal static var breadcrumbManager: BreadcrumbManager?{
59 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:67:24: warning: static property '_appEventObserver' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 | }
66 |
67 | private static var _appEventObserver: AppEventObserver?
| |- warning: static property '_appEventObserver' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_appEventObserver' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_appEventObserver' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
68 | internal static var appEventObserver: AppEventObserver?{
69 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:77:24: warning: static property '_nsExeptionReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | }
76 |
77 | private static var _nsExeptionReporter: CrashReportManaging?
| |- warning: static property '_nsExeptionReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_nsExeptionReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_nsExeptionReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | private static var nsExeptionReporter: CrashReportManaging?{
79 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:87:24: warning: static property '_signalCrashReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | }
86 |
87 | private static var _signalCrashReporter: BTSignalCrashReporter?
| |- warning: static property '_signalCrashReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_signalCrashReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_signalCrashReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | internal static var signalCrashReporter: BTSignalCrashReporter?{
89 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:97:24: warning: static property '_launchTimeReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
95 | }
96 |
97 | private static var _launchTimeReporter : LaunchTimeReporter?
| |- warning: static property '_launchTimeReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_launchTimeReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_launchTimeReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
98 | internal static var launchTimeReporter : LaunchTimeReporter?{
99 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:107:24: warning: static property '_memoryWarningWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
105 | }
106 |
107 | private static var _memoryWarningWatchDog : MemoryWarningWatchDog?
| |- warning: static property '_memoryWarningWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_memoryWarningWatchDog' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_memoryWarningWatchDog' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
108 | internal static var memoryWarningWatchDog : MemoryWarningWatchDog?{
109 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:117:24: warning: static property '_anrWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
115 | }
116 |
117 | private static var _anrWatchDog : ANRWatchDog?
| |- warning: static property '_anrWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_anrWatchDog' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_anrWatchDog' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 | internal static var anrWatchDog : ANRWatchDog?{
119 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:127:24: warning: static property '_sessionManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | }
126 |
127 | private static var _sessionManager : SessionManagerProtocol?
| |- warning: static property '_sessionManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_sessionManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_sessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private static var sessionManager : SessionManagerProtocol?{
129 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:137:25: warning: static property 'clarityConnector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
135 | }
136 |
137 | internal static var clarityConnector = ClaritySessionConnector(logger: logger)
| |- warning: static property 'clarityConnector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'clarityConnector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'clarityConnector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | private static var _enableAllTracking: Bool = configRepo.isEnableAllTracking()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:139:24: warning: static property '_enableAllTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | internal static var clarityConnector = ClaritySessionConnector(logger: logger)
138 |
139 | private static var _enableAllTracking: Bool = configRepo.isEnableAllTracking()
| |- warning: static property '_enableAllTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_enableAllTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_enableAllTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 | internal static var enableAllTracking: Bool {
141 | get { enableAllTrackingLock.sync { return _enableAllTracking } }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:145:24: warning: static property 'configRepo' is not concurrency-safe because non-'Sendable' type 'BTTConfigurationRepo' may have shared mutable state; this is an error in the Swift 6 language mode
143 | }
144 |
145 | private static let configRepo: BTTConfigurationRepo = {
| |- warning: static property 'configRepo' is not concurrency-safe because non-'Sendable' type 'BTTConfigurationRepo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'configRepo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 | let config = BTTConfigurationRepo(BTTRemoteConfig.defaultConfig)
147 | return config
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DynamicConfig/BTTConfigurationRepo.swift:17:7: note: class 'BTTConfigurationRepo' does not conform to the 'Sendable' protocol
15 | }
16 |
17 | class BTTConfigurationRepo : ConfigurationRepo{
| `- note: class 'BTTConfigurationRepo' does not conform to the 'Sendable' protocol
18 |
19 | private let queue = DispatchQueue(label: "com.bluetriangle.configurationRepo", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:150:25: warning: static property 'disableModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
148 | }()
149 |
150 | internal static let disableModeSessionManager : SessionManagerProtocol = {
| |- warning: static property 'disableModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'disableModeSessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
151 | let configFetcher = BTTConfigurationFetcher(logger: logger)
152 | let configSyncer = BTTStoredConfigSyncer(configRepo: configRepo, logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:18:10: note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
16 | #endif
17 |
18 | protocol SessionManagerProtocol {
| `- note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
19 | func start(with expiry : Millisecond)
20 | func getSessionData() -> SessionData?
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:157:25: warning: static property 'enabledModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
155 | }()
156 |
157 | internal static let enabledModeSessionManager : SessionManagerProtocol = {
| |- warning: static property 'enabledModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'enabledModeSessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
158 | let configFetcher = BTTConfigurationFetcher(logger: logger)
159 | let configSyncer = BTTStoredConfigSyncer(configRepo: configRepo, logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:18:10: note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
16 | #endif
17 |
18 | protocol SessionManagerProtocol {
| `- note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
19 | func start(with expiry : Millisecond)
20 | func getSessionData() -> SessionData?
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:171:24: warning: static property 'activeTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
169 | private static let enableAllTrackingLock = NSLock()
170 | private static let appInitializeLock = NSLock()
171 | private static var activeTimers = [BTTimer]()
| |- warning: static property 'activeTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeTimers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeTimers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | #if os(iOS)
173 | private static let matricKitWatchDog = MetricKitWatchDog()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:206:24: warning: static property '_session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
204 | }
205 |
206 | private static var _session: Session? = {
| |- warning: static property '_session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_session' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_session' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
207 | configuration.makeSession()
208 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:248:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private static var logger: Logging = {
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
249 | configuration.makeLogger()
250 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:252:24: warning: static property 'uploader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
250 | }()
251 |
252 | private static var uploader: Uploading = {
| |- warning: static property 'uploader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploader' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploader' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 | configuration.uploaderConfiguration.makeUploader(
254 | logger: logger,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:260:24: warning: static property 'timerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
258 | }()
259 |
260 | private static var timerFactory: (Page, BTTimer.TimerType, Bool) -> BTTimer = {
| |- warning: static property 'timerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timerFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'timerFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
261 | configuration.timerConfiguration.makeTimerFactory(
262 | logger: logger,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:266:24: warning: static property 'internalTimerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
264 | }()
265 |
266 | private static var internalTimerFactory: () -> InternalTimer = {
| |- warning: static property 'internalTimerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'internalTimerFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'internalTimerFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
267 | configuration.internalTimerConfiguration.makeTimerFactory(logger: logger)
268 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:270:25: warning: static property 'shouldCaptureRequests' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
268 | }()
269 |
270 | internal static var shouldCaptureRequests: Bool = {
| |- warning: static property 'shouldCaptureRequests' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldCaptureRequests' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldCaptureRequests' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | sessionData()?.shouldNetworkCapture ?? false
272 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:274:25: warning: static property 'shouldCheckoutTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
272 | }()
273 |
274 | internal static var shouldCheckoutTracking: Bool = {
| |- warning: static property 'shouldCheckoutTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldCheckoutTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldCheckoutTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
275 | sessionData()?.checkoutTrackingEnabled ?? false
276 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:278:25: warning: static property 'shouldBreadcrumbsTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
276 | }()
277 |
278 | internal static var shouldBreadcrumbsTracking: Bool = {
| |- warning: static property 'shouldBreadcrumbsTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldBreadcrumbsTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldBreadcrumbsTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
279 | sessionData()?.enableBreadcrumbs ?? false
280 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:290:24: warning: static property '_initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
288 | /// enable/disable state via the Remote Configuration Updater.
289 | ///
290 | private static var _initialized = false
| |- warning: static property '_initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_initialized' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_initialized' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 |
292 | public static var initialized: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:297:24: warning: static property '_capturedRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
295 | }
296 |
297 | private static var _capturedRequestCollector: CapturedRequestCollecting? = {
| |- warning: static property '_capturedRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
298 | return makeCapturedRequestCollector()
299 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:301:24: warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
299 | }()
300 |
301 | private static var _capturedGroupedViewRequestCollector: CapturedGroupRequestCollecting? = {
| |- warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedGroupedViewRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedGroupedViewRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
302 | return makeCapturedGroupRequestCollector()
303 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:330:25: warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
328 |
329 | //Cache components
330 | internal static var payloadCache : PayloadCacheProtocol = {
| |- warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'payloadCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'payloadCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
331 | PayloadCache.init(configuration.cacheMemoryLimit,
332 | expiry: configuration.cacheExpiryDuration)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:39:33: warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | final class CrashReportManager: CrashReportManaging {
| `- note: class 'CrashReportManager' does not conform to the 'Sendable' protocol
11 |
12 | private let errorMetricStore = ErrorMetricStore()
:
37 | self.intervalProvider = intervalProvider
38 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
39 | guard let session = self?.session() else {
| `- warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | return
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportPersistence.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | struct CrashReportPersistence: CrashReportPersisting {
18 | private static let logger = BTLogger.live
| |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | private static var persistence: Persistence? {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DisableModeSessionManager.swift:99:14: warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
28 | /// - Note: This session manager is used exclusively when `enableAllTracking` is false.
29 | ///
30 | class DisableModeSessionManager : SessionManagerProtocol {
| `- note: class 'DisableModeSessionManager' does not conform to the 'Sendable' protocol
31 |
32 | private var expirationDurationInMS: Millisecond = 30 * 60 * 1000
:
97 | private func updateRemoteConfig(){
98 | queue.async { [weak self] in
99 | self?.updater.update(true) {}
| `- warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:89:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
87 | do {
88 | if let timer = BlueTriangle.recentTimer() {
89 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
90 | let message = String(describing: error)
91 | await errorMetricStore.addError(id: timer.uuid, message: message, line: line)
| `- note: closure captures 'self' which is accessible to code in the current task
92 | }
93 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:107:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
105 |
106 | func uploadErrorForPage(pageName: String, uuid: UUID, segment : String, pageType : String) {
107 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
108 | do {
109 | guard let session = self.session(), let errorMetric = await self.errorMetricStore.flushError(id: uuid) else {
| `- note: closure captures 'self' which is accessible to code in the current task
110 | return
111 | }
[136/152] Compiling BlueTriangle BTTConfigurationRepo.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTLogger.swift:118:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
116 |
117 | extension BTLogger {
118 | static let live: Logging = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | BTLogger()
120 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:60:40: warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | class BTSignalCrashReporter {
| `- note: class 'BTSignalCrashReporter' does not conform to the 'Sendable' protocol
29 |
30 | private let directory : String
:
58 | case .nsException:
59 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
60 | guard let strongSelf = self else {
| `- warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | return
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:93:37: warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure
26 | }
27 |
28 | class BTSignalCrashReporter {
| `- note: class 'BTSignalCrashReporter' does not conform to the 'Sendable' protocol
29 |
30 | private let directory : String
:
91 | DispatchQueue.global(qos: .utility).async { [weak self] in
92 | do {
93 | if let strongSelf = self, let session_id = crash.btt_session_id, session_id.count > 0, let sessionId = UInt64(session_id){
| `- warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure
94 | var sessionCopy = session
95 | sessionCopy.sessionID = sessionId
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:94:39: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
92 | do {
93 | if let strongSelf = self, let session_id = crash.btt_session_id, session_id.count > 0, let sessionId = UInt64(session_id){
94 | var sessionCopy = session
| `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
95 | sessionCopy.sessionID = sessionId
96 | let trafficSegment = !crash.trafic_segment.isEmpty ? crash.trafic_segment : session.trafficSegmentName
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/Session.swift:10:8: note: consider making struct 'Session' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | struct Session: Equatable {
| `- note: consider making struct 'Session' conform to the 'Sendable' protocol
11 | var wcd = 1
12 | let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTTimer.swift:273:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'BTTimer.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
250 | // MARK: - Supporting Types
251 | extension BTTimer {
252 | struct Configuration {
| `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
253 | let timeIntervalProvider: () -> TimeInterval
254 |
:
271 | }
272 |
273 | static let live = Self(
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'BTTimer.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
274 | timeIntervalProvider: { Date().timeIntervalSince1970 }
275 | )
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:23:25: warning: static property 'groupTimer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | final public class BlueTriangle: NSObject {
22 |
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
| |- warning: static property 'groupTimer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'groupTimer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'groupTimer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | internal static var configuration = BlueTriangleConfiguration()
25 | internal static let globleProperty = GlobalProperties()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:24:25: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
24 | internal static var configuration = BlueTriangleConfiguration()
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | internal static let globleProperty = GlobalProperties()
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:25:25: warning: static property 'globleProperty' is not concurrency-safe because non-'Sendable' type 'GlobalProperties' may have shared mutable state; this is an error in the Swift 6 language mode
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
24 | internal static var configuration = BlueTriangleConfiguration()
25 | internal static let globleProperty = GlobalProperties()
| |- warning: static property 'globleProperty' is not concurrency-safe because non-'Sendable' type 'GlobalProperties' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'globleProperty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/GlobleProperties.swift:10:13: note: class 'GlobalProperties' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | final class GlobalProperties {
| `- note: class 'GlobalProperties' does not conform to the 'Sendable' protocol
11 |
12 | private let storageKey = Constants.globalPropertiesStoreKey
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:28:24: warning: static property '_screenTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
27 |
28 | private static var _screenTracker: BTTScreenLifecycleTracker?
| |- warning: static property '_screenTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_screenTracker' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_screenTracker' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | internal static var screenTracker: BTTScreenLifecycleTracker?{
30 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:37:24: warning: static property '_networkStateMonitor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 | }
37 | private static var _networkStateMonitor: NetworkStateMonitorProtocol?
| |- warning: static property '_networkStateMonitor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_networkStateMonitor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_networkStateMonitor' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | internal static var networkStateMonitor: NetworkStateMonitorProtocol?{
39 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:47:24: warning: static property '_appInstallTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | }
46 |
47 | private static var _appInstallTracker: AppInstallTracker?
| |- warning: static property '_appInstallTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_appInstallTracker' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_appInstallTracker' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | internal static var appInstallTracker: AppInstallTracker?{
49 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:57:24: warning: static property '_breadcrumbManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
55 | }
56 |
57 | private static var _breadcrumbManager: BreadcrumbManager?
| |- warning: static property '_breadcrumbManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_breadcrumbManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_breadcrumbManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | internal static var breadcrumbManager: BreadcrumbManager?{
59 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:67:24: warning: static property '_appEventObserver' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 | }
66 |
67 | private static var _appEventObserver: AppEventObserver?
| |- warning: static property '_appEventObserver' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_appEventObserver' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_appEventObserver' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
68 | internal static var appEventObserver: AppEventObserver?{
69 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:77:24: warning: static property '_nsExeptionReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | }
76 |
77 | private static var _nsExeptionReporter: CrashReportManaging?
| |- warning: static property '_nsExeptionReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_nsExeptionReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_nsExeptionReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | private static var nsExeptionReporter: CrashReportManaging?{
79 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:87:24: warning: static property '_signalCrashReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | }
86 |
87 | private static var _signalCrashReporter: BTSignalCrashReporter?
| |- warning: static property '_signalCrashReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_signalCrashReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_signalCrashReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | internal static var signalCrashReporter: BTSignalCrashReporter?{
89 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:97:24: warning: static property '_launchTimeReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
95 | }
96 |
97 | private static var _launchTimeReporter : LaunchTimeReporter?
| |- warning: static property '_launchTimeReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_launchTimeReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_launchTimeReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
98 | internal static var launchTimeReporter : LaunchTimeReporter?{
99 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:107:24: warning: static property '_memoryWarningWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
105 | }
106 |
107 | private static var _memoryWarningWatchDog : MemoryWarningWatchDog?
| |- warning: static property '_memoryWarningWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_memoryWarningWatchDog' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_memoryWarningWatchDog' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
108 | internal static var memoryWarningWatchDog : MemoryWarningWatchDog?{
109 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:117:24: warning: static property '_anrWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
115 | }
116 |
117 | private static var _anrWatchDog : ANRWatchDog?
| |- warning: static property '_anrWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_anrWatchDog' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_anrWatchDog' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 | internal static var anrWatchDog : ANRWatchDog?{
119 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:127:24: warning: static property '_sessionManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | }
126 |
127 | private static var _sessionManager : SessionManagerProtocol?
| |- warning: static property '_sessionManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_sessionManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_sessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private static var sessionManager : SessionManagerProtocol?{
129 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:137:25: warning: static property 'clarityConnector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
135 | }
136 |
137 | internal static var clarityConnector = ClaritySessionConnector(logger: logger)
| |- warning: static property 'clarityConnector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'clarityConnector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'clarityConnector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | private static var _enableAllTracking: Bool = configRepo.isEnableAllTracking()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:139:24: warning: static property '_enableAllTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | internal static var clarityConnector = ClaritySessionConnector(logger: logger)
138 |
139 | private static var _enableAllTracking: Bool = configRepo.isEnableAllTracking()
| |- warning: static property '_enableAllTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_enableAllTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_enableAllTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 | internal static var enableAllTracking: Bool {
141 | get { enableAllTrackingLock.sync { return _enableAllTracking } }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:145:24: warning: static property 'configRepo' is not concurrency-safe because non-'Sendable' type 'BTTConfigurationRepo' may have shared mutable state; this is an error in the Swift 6 language mode
143 | }
144 |
145 | private static let configRepo: BTTConfigurationRepo = {
| |- warning: static property 'configRepo' is not concurrency-safe because non-'Sendable' type 'BTTConfigurationRepo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'configRepo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 | let config = BTTConfigurationRepo(BTTRemoteConfig.defaultConfig)
147 | return config
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DynamicConfig/BTTConfigurationRepo.swift:17:7: note: class 'BTTConfigurationRepo' does not conform to the 'Sendable' protocol
15 | }
16 |
17 | class BTTConfigurationRepo : ConfigurationRepo{
| `- note: class 'BTTConfigurationRepo' does not conform to the 'Sendable' protocol
18 |
19 | private let queue = DispatchQueue(label: "com.bluetriangle.configurationRepo", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:150:25: warning: static property 'disableModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
148 | }()
149 |
150 | internal static let disableModeSessionManager : SessionManagerProtocol = {
| |- warning: static property 'disableModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'disableModeSessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
151 | let configFetcher = BTTConfigurationFetcher(logger: logger)
152 | let configSyncer = BTTStoredConfigSyncer(configRepo: configRepo, logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:18:10: note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
16 | #endif
17 |
18 | protocol SessionManagerProtocol {
| `- note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
19 | func start(with expiry : Millisecond)
20 | func getSessionData() -> SessionData?
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:157:25: warning: static property 'enabledModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
155 | }()
156 |
157 | internal static let enabledModeSessionManager : SessionManagerProtocol = {
| |- warning: static property 'enabledModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'enabledModeSessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
158 | let configFetcher = BTTConfigurationFetcher(logger: logger)
159 | let configSyncer = BTTStoredConfigSyncer(configRepo: configRepo, logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:18:10: note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
16 | #endif
17 |
18 | protocol SessionManagerProtocol {
| `- note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
19 | func start(with expiry : Millisecond)
20 | func getSessionData() -> SessionData?
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:171:24: warning: static property 'activeTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
169 | private static let enableAllTrackingLock = NSLock()
170 | private static let appInitializeLock = NSLock()
171 | private static var activeTimers = [BTTimer]()
| |- warning: static property 'activeTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeTimers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeTimers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | #if os(iOS)
173 | private static let matricKitWatchDog = MetricKitWatchDog()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:206:24: warning: static property '_session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
204 | }
205 |
206 | private static var _session: Session? = {
| |- warning: static property '_session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_session' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_session' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
207 | configuration.makeSession()
208 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:248:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private static var logger: Logging = {
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
249 | configuration.makeLogger()
250 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:252:24: warning: static property 'uploader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
250 | }()
251 |
252 | private static var uploader: Uploading = {
| |- warning: static property 'uploader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploader' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploader' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 | configuration.uploaderConfiguration.makeUploader(
254 | logger: logger,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:260:24: warning: static property 'timerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
258 | }()
259 |
260 | private static var timerFactory: (Page, BTTimer.TimerType, Bool) -> BTTimer = {
| |- warning: static property 'timerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timerFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'timerFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
261 | configuration.timerConfiguration.makeTimerFactory(
262 | logger: logger,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:266:24: warning: static property 'internalTimerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
264 | }()
265 |
266 | private static var internalTimerFactory: () -> InternalTimer = {
| |- warning: static property 'internalTimerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'internalTimerFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'internalTimerFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
267 | configuration.internalTimerConfiguration.makeTimerFactory(logger: logger)
268 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:270:25: warning: static property 'shouldCaptureRequests' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
268 | }()
269 |
270 | internal static var shouldCaptureRequests: Bool = {
| |- warning: static property 'shouldCaptureRequests' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldCaptureRequests' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldCaptureRequests' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | sessionData()?.shouldNetworkCapture ?? false
272 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:274:25: warning: static property 'shouldCheckoutTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
272 | }()
273 |
274 | internal static var shouldCheckoutTracking: Bool = {
| |- warning: static property 'shouldCheckoutTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldCheckoutTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldCheckoutTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
275 | sessionData()?.checkoutTrackingEnabled ?? false
276 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:278:25: warning: static property 'shouldBreadcrumbsTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
276 | }()
277 |
278 | internal static var shouldBreadcrumbsTracking: Bool = {
| |- warning: static property 'shouldBreadcrumbsTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldBreadcrumbsTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldBreadcrumbsTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
279 | sessionData()?.enableBreadcrumbs ?? false
280 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:290:24: warning: static property '_initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
288 | /// enable/disable state via the Remote Configuration Updater.
289 | ///
290 | private static var _initialized = false
| |- warning: static property '_initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_initialized' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_initialized' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 |
292 | public static var initialized: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:297:24: warning: static property '_capturedRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
295 | }
296 |
297 | private static var _capturedRequestCollector: CapturedRequestCollecting? = {
| |- warning: static property '_capturedRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
298 | return makeCapturedRequestCollector()
299 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:301:24: warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
299 | }()
300 |
301 | private static var _capturedGroupedViewRequestCollector: CapturedGroupRequestCollecting? = {
| |- warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedGroupedViewRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedGroupedViewRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
302 | return makeCapturedGroupRequestCollector()
303 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:330:25: warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
328 |
329 | //Cache components
330 | internal static var payloadCache : PayloadCacheProtocol = {
| |- warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'payloadCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'payloadCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
331 | PayloadCache.init(configuration.cacheMemoryLimit,
332 | expiry: configuration.cacheExpiryDuration)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:39:33: warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | final class CrashReportManager: CrashReportManaging {
| `- note: class 'CrashReportManager' does not conform to the 'Sendable' protocol
11 |
12 | private let errorMetricStore = ErrorMetricStore()
:
37 | self.intervalProvider = intervalProvider
38 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
39 | guard let session = self?.session() else {
| `- warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | return
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportPersistence.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | struct CrashReportPersistence: CrashReportPersisting {
18 | private static let logger = BTLogger.live
| |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | private static var persistence: Persistence? {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DisableModeSessionManager.swift:99:14: warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
28 | /// - Note: This session manager is used exclusively when `enableAllTracking` is false.
29 | ///
30 | class DisableModeSessionManager : SessionManagerProtocol {
| `- note: class 'DisableModeSessionManager' does not conform to the 'Sendable' protocol
31 |
32 | private var expirationDurationInMS: Millisecond = 30 * 60 * 1000
:
97 | private func updateRemoteConfig(){
98 | queue.async { [weak self] in
99 | self?.updater.update(true) {}
| `- warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:89:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
87 | do {
88 | if let timer = BlueTriangle.recentTimer() {
89 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
90 | let message = String(describing: error)
91 | await errorMetricStore.addError(id: timer.uuid, message: message, line: line)
| `- note: closure captures 'self' which is accessible to code in the current task
92 | }
93 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:107:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
105 |
106 | func uploadErrorForPage(pageName: String, uuid: UUID, segment : String, pageType : String) {
107 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
108 | do {
109 | guard let session = self.session(), let errorMetric = await self.errorMetricStore.flushError(id: uuid) else {
| `- note: closure captures 'self' which is accessible to code in the current task
110 | return
111 | }
[137/152] Compiling BlueTriangle BTTConfigurationUpdater.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTLogger.swift:118:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
116 |
117 | extension BTLogger {
118 | static let live: Logging = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
119 | BTLogger()
120 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:60:40: warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
26 | }
27 |
28 | class BTSignalCrashReporter {
| `- note: class 'BTSignalCrashReporter' does not conform to the 'Sendable' protocol
29 |
30 | private let directory : String
:
58 | case .nsException:
59 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
60 | guard let strongSelf = self else {
| `- warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
61 | return
62 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:93:37: warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure
26 | }
27 |
28 | class BTSignalCrashReporter {
| `- note: class 'BTSignalCrashReporter' does not conform to the 'Sendable' protocol
29 |
30 | private let directory : String
:
91 | DispatchQueue.global(qos: .utility).async { [weak self] in
92 | do {
93 | if let strongSelf = self, let session_id = crash.btt_session_id, session_id.count > 0, let sessionId = UInt64(session_id){
| `- warning: capture of 'self' with non-sendable type 'BTSignalCrashReporter?' in a '@Sendable' closure
94 | var sessionCopy = session
95 | sessionCopy.sessionID = sessionId
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTSignalCrashReporter.swift:94:39: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
92 | do {
93 | if let strongSelf = self, let session_id = crash.btt_session_id, session_id.count > 0, let sessionId = UInt64(session_id){
94 | var sessionCopy = session
| `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
95 | sessionCopy.sessionID = sessionId
96 | let trafficSegment = !crash.trafic_segment.isEmpty ? crash.trafic_segment : session.trafficSegmentName
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/Session.swift:10:8: note: consider making struct 'Session' conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | struct Session: Equatable {
| `- note: consider making struct 'Session' conform to the 'Sendable' protocol
11 | var wcd = 1
12 | let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BTTimer.swift:273:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'BTTimer.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
250 | // MARK: - Supporting Types
251 | extension BTTimer {
252 | struct Configuration {
| `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
253 | let timeIntervalProvider: () -> TimeInterval
254 |
:
271 | }
272 |
273 | static let live = Self(
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'BTTimer.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
274 | timeIntervalProvider: { Date().timeIntervalSince1970 }
275 | )
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:23:25: warning: static property 'groupTimer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
21 | final public class BlueTriangle: NSObject {
22 |
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
| |- warning: static property 'groupTimer' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'groupTimer' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'groupTimer' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
24 | internal static var configuration = BlueTriangleConfiguration()
25 | internal static let globleProperty = GlobalProperties()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:24:25: warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
22 |
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
24 | internal static var configuration = BlueTriangleConfiguration()
| |- warning: static property 'configuration' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'configuration' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'configuration' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
25 | internal static let globleProperty = GlobalProperties()
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:25:25: warning: static property 'globleProperty' is not concurrency-safe because non-'Sendable' type 'GlobalProperties' may have shared mutable state; this is an error in the Swift 6 language mode
23 | internal static var groupTimer : BTTimerGroupManager = BTTimerGroupManager(logger: logger)
24 | internal static var configuration = BlueTriangleConfiguration()
25 | internal static let globleProperty = GlobalProperties()
| |- warning: static property 'globleProperty' is not concurrency-safe because non-'Sendable' type 'GlobalProperties' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'globleProperty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
27 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/GlobleProperties.swift:10:13: note: class 'GlobalProperties' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | final class GlobalProperties {
| `- note: class 'GlobalProperties' does not conform to the 'Sendable' protocol
11 |
12 | private let storageKey = Constants.globalPropertiesStoreKey
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:28:24: warning: static property '_screenTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
26 | internal static let checkoutEvent = CheckoutEventReporter(logger: logger)
27 |
28 | private static var _screenTracker: BTTScreenLifecycleTracker?
| |- warning: static property '_screenTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_screenTracker' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_screenTracker' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
29 | internal static var screenTracker: BTTScreenLifecycleTracker?{
30 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:37:24: warning: static property '_networkStateMonitor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
35 | }
36 | }
37 | private static var _networkStateMonitor: NetworkStateMonitorProtocol?
| |- warning: static property '_networkStateMonitor' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_networkStateMonitor' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_networkStateMonitor' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
38 | internal static var networkStateMonitor: NetworkStateMonitorProtocol?{
39 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:47:24: warning: static property '_appInstallTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
45 | }
46 |
47 | private static var _appInstallTracker: AppInstallTracker?
| |- warning: static property '_appInstallTracker' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_appInstallTracker' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_appInstallTracker' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
48 | internal static var appInstallTracker: AppInstallTracker?{
49 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:57:24: warning: static property '_breadcrumbManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
55 | }
56 |
57 | private static var _breadcrumbManager: BreadcrumbManager?
| |- warning: static property '_breadcrumbManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_breadcrumbManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_breadcrumbManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | internal static var breadcrumbManager: BreadcrumbManager?{
59 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:67:24: warning: static property '_appEventObserver' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
65 | }
66 |
67 | private static var _appEventObserver: AppEventObserver?
| |- warning: static property '_appEventObserver' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_appEventObserver' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_appEventObserver' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
68 | internal static var appEventObserver: AppEventObserver?{
69 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:77:24: warning: static property '_nsExeptionReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
75 | }
76 |
77 | private static var _nsExeptionReporter: CrashReportManaging?
| |- warning: static property '_nsExeptionReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_nsExeptionReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_nsExeptionReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | private static var nsExeptionReporter: CrashReportManaging?{
79 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:87:24: warning: static property '_signalCrashReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
85 | }
86 |
87 | private static var _signalCrashReporter: BTSignalCrashReporter?
| |- warning: static property '_signalCrashReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_signalCrashReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_signalCrashReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | internal static var signalCrashReporter: BTSignalCrashReporter?{
89 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:97:24: warning: static property '_launchTimeReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
95 | }
96 |
97 | private static var _launchTimeReporter : LaunchTimeReporter?
| |- warning: static property '_launchTimeReporter' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_launchTimeReporter' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_launchTimeReporter' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
98 | internal static var launchTimeReporter : LaunchTimeReporter?{
99 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:107:24: warning: static property '_memoryWarningWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
105 | }
106 |
107 | private static var _memoryWarningWatchDog : MemoryWarningWatchDog?
| |- warning: static property '_memoryWarningWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_memoryWarningWatchDog' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_memoryWarningWatchDog' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
108 | internal static var memoryWarningWatchDog : MemoryWarningWatchDog?{
109 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:117:24: warning: static property '_anrWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
115 | }
116 |
117 | private static var _anrWatchDog : ANRWatchDog?
| |- warning: static property '_anrWatchDog' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_anrWatchDog' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_anrWatchDog' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
118 | internal static var anrWatchDog : ANRWatchDog?{
119 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:127:24: warning: static property '_sessionManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | }
126 |
127 | private static var _sessionManager : SessionManagerProtocol?
| |- warning: static property '_sessionManager' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_sessionManager' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_sessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private static var sessionManager : SessionManagerProtocol?{
129 | get {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:137:25: warning: static property 'clarityConnector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
135 | }
136 |
137 | internal static var clarityConnector = ClaritySessionConnector(logger: logger)
| |- warning: static property 'clarityConnector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'clarityConnector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'clarityConnector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
138 |
139 | private static var _enableAllTracking: Bool = configRepo.isEnableAllTracking()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:139:24: warning: static property '_enableAllTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
137 | internal static var clarityConnector = ClaritySessionConnector(logger: logger)
138 |
139 | private static var _enableAllTracking: Bool = configRepo.isEnableAllTracking()
| |- warning: static property '_enableAllTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_enableAllTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_enableAllTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
140 | internal static var enableAllTracking: Bool {
141 | get { enableAllTrackingLock.sync { return _enableAllTracking } }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:145:24: warning: static property 'configRepo' is not concurrency-safe because non-'Sendable' type 'BTTConfigurationRepo' may have shared mutable state; this is an error in the Swift 6 language mode
143 | }
144 |
145 | private static let configRepo: BTTConfigurationRepo = {
| |- warning: static property 'configRepo' is not concurrency-safe because non-'Sendable' type 'BTTConfigurationRepo' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'configRepo' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
146 | let config = BTTConfigurationRepo(BTTRemoteConfig.defaultConfig)
147 | return config
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DynamicConfig/BTTConfigurationRepo.swift:17:7: note: class 'BTTConfigurationRepo' does not conform to the 'Sendable' protocol
15 | }
16 |
17 | class BTTConfigurationRepo : ConfigurationRepo{
| `- note: class 'BTTConfigurationRepo' does not conform to the 'Sendable' protocol
18 |
19 | private let queue = DispatchQueue(label: "com.bluetriangle.configurationRepo", attributes: .concurrent)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:150:25: warning: static property 'disableModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
148 | }()
149 |
150 | internal static let disableModeSessionManager : SessionManagerProtocol = {
| |- warning: static property 'disableModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'disableModeSessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
151 | let configFetcher = BTTConfigurationFetcher(logger: logger)
152 | let configSyncer = BTTStoredConfigSyncer(configRepo: configRepo, logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:18:10: note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
16 | #endif
17 |
18 | protocol SessionManagerProtocol {
| `- note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
19 | func start(with expiry : Millisecond)
20 | func getSessionData() -> SessionData?
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:157:25: warning: static property 'enabledModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
155 | }()
156 |
157 | internal static let enabledModeSessionManager : SessionManagerProtocol = {
| |- warning: static property 'enabledModeSessionManager' is not concurrency-safe because non-'Sendable' type 'any SessionManagerProtocol' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'enabledModeSessionManager' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
158 | let configFetcher = BTTConfigurationFetcher(logger: logger)
159 | let configSyncer = BTTStoredConfigSyncer(configRepo: configRepo, logger: logger)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/SessionManager.swift:18:10: note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
16 | #endif
17 |
18 | protocol SessionManagerProtocol {
| `- note: protocol 'SessionManagerProtocol' does not conform to the 'Sendable' protocol
19 | func start(with expiry : Millisecond)
20 | func getSessionData() -> SessionData?
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:171:24: warning: static property 'activeTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
169 | private static let enableAllTrackingLock = NSLock()
170 | private static let appInitializeLock = NSLock()
171 | private static var activeTimers = [BTTimer]()
| |- warning: static property 'activeTimers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'activeTimers' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'activeTimers' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
172 | #if os(iOS)
173 | private static let matricKitWatchDog = MetricKitWatchDog()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:206:24: warning: static property '_session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
204 | }
205 |
206 | private static var _session: Session? = {
| |- warning: static property '_session' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_session' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_session' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
207 | configuration.makeSession()
208 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:248:24: warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
246 | }
247 |
248 | private static var logger: Logging = {
| |- warning: static property 'logger' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'logger' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
249 | configuration.makeLogger()
250 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:252:24: warning: static property 'uploader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
250 | }()
251 |
252 | private static var uploader: Uploading = {
| |- warning: static property 'uploader' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'uploader' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'uploader' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
253 | configuration.uploaderConfiguration.makeUploader(
254 | logger: logger,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:260:24: warning: static property 'timerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
258 | }()
259 |
260 | private static var timerFactory: (Page, BTTimer.TimerType, Bool) -> BTTimer = {
| |- warning: static property 'timerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'timerFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'timerFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
261 | configuration.timerConfiguration.makeTimerFactory(
262 | logger: logger,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:266:24: warning: static property 'internalTimerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
264 | }()
265 |
266 | private static var internalTimerFactory: () -> InternalTimer = {
| |- warning: static property 'internalTimerFactory' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'internalTimerFactory' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'internalTimerFactory' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
267 | configuration.internalTimerConfiguration.makeTimerFactory(logger: logger)
268 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:270:25: warning: static property 'shouldCaptureRequests' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
268 | }()
269 |
270 | internal static var shouldCaptureRequests: Bool = {
| |- warning: static property 'shouldCaptureRequests' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldCaptureRequests' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldCaptureRequests' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
271 | sessionData()?.shouldNetworkCapture ?? false
272 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:274:25: warning: static property 'shouldCheckoutTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
272 | }()
273 |
274 | internal static var shouldCheckoutTracking: Bool = {
| |- warning: static property 'shouldCheckoutTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldCheckoutTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldCheckoutTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
275 | sessionData()?.checkoutTrackingEnabled ?? false
276 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:278:25: warning: static property 'shouldBreadcrumbsTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
276 | }()
277 |
278 | internal static var shouldBreadcrumbsTracking: Bool = {
| |- warning: static property 'shouldBreadcrumbsTracking' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shouldBreadcrumbsTracking' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shouldBreadcrumbsTracking' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
279 | sessionData()?.enableBreadcrumbs ?? false
280 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:290:24: warning: static property '_initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
288 | /// enable/disable state via the Remote Configuration Updater.
289 | ///
290 | private static var _initialized = false
| |- warning: static property '_initialized' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_initialized' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_initialized' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
291 |
292 | public static var initialized: Bool {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:297:24: warning: static property '_capturedRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
295 | }
296 |
297 | private static var _capturedRequestCollector: CapturedRequestCollecting? = {
| |- warning: static property '_capturedRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
298 | return makeCapturedRequestCollector()
299 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:301:24: warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
299 | }()
300 |
301 | private static var _capturedGroupedViewRequestCollector: CapturedGroupRequestCollecting? = {
| |- warning: static property '_capturedGroupedViewRequestCollector' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert '_capturedGroupedViewRequestCollector' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property '_capturedGroupedViewRequestCollector' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
302 | return makeCapturedGroupRequestCollector()
303 | }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:330:25: warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
328 |
329 | //Cache components
330 | internal static var payloadCache : PayloadCacheProtocol = {
| |- warning: static property 'payloadCache' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'payloadCache' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'payloadCache' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
331 | PayloadCache.init(configuration.cacheMemoryLimit,
332 | expiry: configuration.cacheExpiryDuration)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:39:33: warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
8 | import Foundation
9 |
10 | final class CrashReportManager: CrashReportManaging {
| `- note: class 'CrashReportManager' does not conform to the 'Sendable' protocol
11 |
12 | private let errorMetricStore = ErrorMetricStore()
:
37 | self.intervalProvider = intervalProvider
38 | self.startupTask = Task.delayed(byTimeInterval: Constants.startupDelay, priority: .utility) { [weak self] in
39 | guard let session = self?.session() else {
| `- warning: capture of 'self' with non-sendable type 'CrashReportManager?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
40 | return
41 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportPersistence.swift:18:24: warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
16 |
17 | struct CrashReportPersistence: CrashReportPersisting {
18 | private static let logger = BTLogger.live
| |- warning: static property 'logger' is not concurrency-safe because non-'Sendable' type 'any Logging' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'logger' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 |
20 | private static var persistence: Persistence? {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Protocols/Logging.swift:10:10: note: protocol 'Logging' does not conform to the 'Sendable' protocol
8 | import Foundation
9 |
10 | protocol Logging {
| `- note: protocol 'Logging' does not conform to the 'Sendable' protocol
11 | var enableDebug: Bool { get set }
12 |
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/DisableModeSessionManager.swift:99:14: warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
28 | /// - Note: This session manager is used exclusively when `enableAllTracking` is false.
29 | ///
30 | class DisableModeSessionManager : SessionManagerProtocol {
| `- note: class 'DisableModeSessionManager' does not conform to the 'Sendable' protocol
31 |
32 | private var expirationDurationInMS: Millisecond = 30 * 60 * 1000
:
97 | private func updateRemoteConfig(){
98 | queue.async { [weak self] in
99 | self?.updater.update(true) {}
| `- warning: capture of 'self' with non-sendable type 'DisableModeSessionManager?' in a '@Sendable' closure
100 | }
101 | }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:89:22: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
87 | do {
88 | if let timer = BlueTriangle.recentTimer() {
89 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
90 | let message = String(describing: error)
91 | await errorMetricStore.addError(id: timer.uuid, message: message, line: line)
| `- note: closure captures 'self' which is accessible to code in the current task
92 | }
93 | } else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/CrashReportManager.swift:107:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
105 |
106 | func uploadErrorForPage(pageName: String, uuid: UUID, segment : String, pageType : String) {
107 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
108 | do {
109 | guard let session = self.session(), let errorMetric = await self.errorMetricStore.flushError(id: uuid) else {
| `- note: closure captures 'self' which is accessible to code in the current task
110 | return
111 | }
[138/152] Compiling BlueTriangle NotificationName+Platform.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[139/152] Compiling BlueTriangle OperatingSystemVersion+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[140/152] Compiling BlueTriangle Publisher+Retry.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[141/152] Compiling BlueTriangle String+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[142/152] Compiling BlueTriangle Task+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[143/152] Compiling BlueTriangle TimeInterval+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[144/152] Compiling BlueTriangle UIApplication+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[145/152] Compiling BlueTriangle UIViewController+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[146/152] Compiling BlueTriangle URL+ExpressibleByStringLiteral.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[147/152] Compiling BlueTriangle URLSession+NetworkCapture.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[148/152] Compiling BlueTriangle URLSession+Networking.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[149/152] Compiling BlueTriangle URLSession+Publisher.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[150/152] Compiling BlueTriangle UserDefault+Utils.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[151/152] Compiling BlueTriangle GlobleProperties.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
[152/152] Compiling BlueTriangle Identifier.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URL+ExpressibleByStringLiteral.swift:9:1: warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
7 | import Foundation
8 |
9 | extension URL: ExpressibleByStringLiteral {
| |- warning: extension declares a conformance of imported type 'URL' to imported protocols 'ExpressibleByStringLiteral', 'ExpressibleByExtendedGraphemeClusterLiteral', 'ExpressibleByUnicodeScalarLiteral'; this will not behave correctly if the owners of 'Foundation' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
10 | public init(stringLiteral value: StaticString) {
11 | guard let url = URL(string: "\(value)") else {
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+NetworkCapture.swift:53:13: warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
51 | }
52 |
53 | completionHandler(data, response, error)
| |- warning: capture of 'completionHandler' with non-sendable type '(Data?, URLResponse?, (any Error)?) -> Void' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
54 | }
55 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Extensions/URLSession+Networking.swift:11:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
9 |
10 | extension URLSession {
11 | static let live: Networking = {
| |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Networking' (aka '(Request) -> AnyPublisher<HTTPResponse<Data>, NetworkError>') may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'live' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
12 | let configuration = URLSessionConfiguration.default
13 | configuration.requestCachePolicy = .reloadIgnoringLocalCacheData // Disable caching explicitly
Build complete! (10.00s)
Build complete.
{
"dependencies" : [
],
"manifest_display_name" : "blue-triangle",
"name" : "blue-triangle",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "13.0"
},
{
"name" : "tvos",
"version" : "13.0"
},
{
"name" : "watchos",
"version" : "6.0"
},
{
"name" : "macos",
"version" : "10.15"
}
],
"products" : [
{
"name" : "BlueTriangle",
"targets" : [
"BlueTriangle"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "ObjcCompatibilityTests",
"module_type" : "ClangTarget",
"name" : "ObjcCompatibilityTests",
"path" : "Tests/ObjcCompatibilityTests",
"sources" : [
"ObjcCompatibilityTests.m"
],
"target_dependencies" : [
"BlueTriangle"
],
"type" : "test"
},
{
"c99name" : "BlueTriangleTests",
"module_type" : "SwiftTarget",
"name" : "BlueTriangleTests",
"path" : "Tests/BlueTriangleTests",
"sources" : [
"AnyCodableTests.swift",
"App/CollectionViewController.swift",
"App/Extensions/UIColor+Utils.swift",
"App/ImageCell.swift",
"App/Models/Album.swift",
"App/Models/Photo.swift",
"App/Models/SingleSection.swift",
"App/Models/ViewState.swift",
"App/NetworkClientMock.swift",
"BTTConfigurationFetcherTests.swift",
"BTTConfigurationRepoTests.swift",
"BTTConfigurationUpdaterTests.swift",
"BTTimerTests.swift",
"BlueTriangleTests.swift",
"CaptureRateProbabilityTest.swift",
"CaptureTimerManagerTests.swift",
"ContentTypeTests.swift",
"CrashReportManagerTests.swift",
"DeviceTests.swift",
"InitiatorTypeTests.swift",
"Mocks/CaptureTimerManagerMock.swift",
"Mocks/CapturedRequestCollectorMock.swift",
"Mocks/CrashReportPersistenceMock.swift",
"Mocks/LoggerMock.swift",
"Mocks/Mock.swift",
"Mocks/MockBTTConfigurationFetcher.swift",
"Mocks/MockBTTConfigurationRepo.swift",
"Mocks/MockRemoteConfigURL.swift",
"Mocks/PerformanceMonitorMock.swift",
"Mocks/ResourceUsageMock.swift",
"Mocks/SystemLoggerMock.swift",
"Mocks/URLProtocolMock.swift",
"Mocks/UploaderMock.swift",
"NetworkCaptureDelegateTests.swift",
"PersistenceTests.swift",
"RequestCacheTests.swift",
"RequestCollectionTests.swift",
"RequestCollectorTests.swift",
"ResourceUsageTests.swift",
"TimerRequestBuilderTests.swift",
"UploaderTests.swift",
"UtilityTests.swift"
],
"target_dependencies" : [
"BlueTriangle"
],
"type" : "test"
},
{
"c99name" : "BlueTriangle",
"module_type" : "SwiftTarget",
"name" : "BlueTriangle",
"path" : "Sources/BlueTriangle",
"product_memberships" : [
"BlueTriangle"
],
"resources" : [
{
"path" : "/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/PrivacyInfo.xcprivacy",
"rule" : {
"copy" : {
}
}
}
],
"sources" : [
"AppEventObserver.swift",
"BTLogger.swift",
"BTSignalCrashReporter.swift",
"BTTimer.swift",
"BlueTriangle.swift",
"BlueTriangleConfiguration.swift",
"ClaritySupport/ClaritySessionConnector.swift",
"Constants.swift",
"CrashReportManager.swift",
"CrashReportPersistence.swift",
"Device.swift",
"DisableModeSessionManager.swift",
"DynamicConfig/BTTConfigurationFetcher.swift",
"DynamicConfig/BTTConfigurationRepo.swift",
"DynamicConfig/BTTConfigurationUpdater.swift",
"DynamicConfig/BTTRemoteConfig.swift",
"DynamicConfig/BTTSavedRemoteConfig.swift",
"DynamicConfig/BTTStoredConfigSyncer.swift",
"DynamicConfig/SessionStore.swift",
"Extensions/Array+Vitals.swift",
"Extensions/Bool+Utils.swift",
"Extensions/Bundle+Utils.swift",
"Extensions/Data+Utils.swift",
"Extensions/Date+Utils.swift",
"Extensions/HTTPURLResponse+ContentType.swift",
"Extensions/JSONDecoder+Utils.swift",
"Extensions/NSException+Utils.swift",
"Extensions/NSLocking+Utils.swift",
"Extensions/NSNumber+Utils.swift",
"Extensions/NWPathMonitor+Combine.swift",
"Extensions/NotificationName+Platform.swift",
"Extensions/OperatingSystemVersion+Utils.swift",
"Extensions/Publisher+Retry.swift",
"Extensions/String+Utils.swift",
"Extensions/Task+Utils.swift",
"Extensions/TimeInterval+Utils.swift",
"Extensions/UIApplication+Utils.swift",
"Extensions/UIViewController+Utils.swift",
"Extensions/URL+ExpressibleByStringLiteral.swift",
"Extensions/URLSession+NetworkCapture.swift",
"Extensions/URLSession+Networking.swift",
"Extensions/URLSession+Publisher.swift",
"Extensions/UserDefault+Utils.swift",
"GlobleProperties.swift",
"Identifier.swift",
"InternalTimer.swift",
"MetricKit/CrashReportResponse.swift",
"MetricKit/CrashSignal.swift",
"MetricKit/DignosticWatchDog.swift",
"Millisecond.swift",
"Models/AnyCodable.swift",
"Models/CapturedRequest.swift",
"Models/CrashReport.swift",
"Models/CustomCategories.swift",
"Models/CustomNumbers.swift",
"Models/CustomVariables.swift",
"Models/ErrorReport.swift",
"Models/NativeAppProperties.swift",
"Models/Page.swift",
"Models/PageTimeInterval.swift",
"Models/PerformanceReport.swift",
"Models/PurchaseConfirmation.swift",
"Models/ResourceUsageMeasurement.swift",
"Models/Session.swift",
"Models/TimerRequest.swift",
"NetworkCapture/BTTimerNetStateAccumulator.swift",
"NetworkCapture/CaptureTimerManager.swift",
"NetworkCapture/CapturedGroupRequestCollector.swift",
"NetworkCapture/CapturedRequestBuilder.swift",
"NetworkCapture/CapturedRequestCollector.swift",
"NetworkCapture/GroupRequestCollection.swift",
"NetworkCapture/NetworkCaptureConfiguration.swift",
"NetworkCapture/NetworkCaptureTracker.swift",
"NetworkCapture/NetworkStateMonitor.swift",
"NetworkCapture/NetworkTelephonyHandler.swift",
"NetworkCapture/RequestCollection.swift",
"NetworkCaptureSessionDelegate.swift",
"Offline/Payload.swift",
"Offline/PayloadCache.swift",
"Persistence/File.swift",
"Persistence/Persistence.swift",
"Persistence/PersistenceError.swift",
"Persistence/UserLocation.swift",
"Protocols/CaptureTimerManaging.swift",
"Protocols/CapturedGroupRequestCollecting.swift",
"Protocols/CapturedRequestCollecting.swift",
"Protocols/CrashReportManaging.swift",
"Protocols/CrashReportPersisting.swift",
"Protocols/FileLocation.swift",
"Protocols/Logging.swift",
"Protocols/PerformanceMonitoring.swift",
"Protocols/RequestFailureHandling.swift",
"Protocols/ResourceMeasuring.swift",
"Protocols/SystemLogging.swift",
"Protocols/URLRequestConvertible.swift",
"Protocols/Uploading.swift",
"Request.swift",
"RequestCache.swift",
"RequestFailureHandler.swift",
"SessionManager.swift",
"TimerRequestBuilder.swift",
"Uploader.swift",
"Version.swift",
"Vitals/ANR/ANRPerformanceMonitor.swift",
"Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift",
"Vitals/ANR/ANRWatchDog.swift",
"Vitals/ANR/MainThreadObserver.swift",
"Vitals/AppInstallTracker.swift",
"Vitals/BTTEvents.swift",
"Vitals/Breadcrumbs/AppInstallFeature.swift",
"Vitals/Breadcrumbs/AppLifecycleFeature.swift",
"Vitals/Breadcrumbs/AppSystemEventFeature.swift",
"Vitals/Breadcrumbs/AppUpdateFeature.swift",
"Vitals/Breadcrumbs/BreadcrumbCollector.swift",
"Vitals/Breadcrumbs/BreadcrumbEvent.swift",
"Vitals/Breadcrumbs/BreadcrumbFeatrure.swift",
"Vitals/Breadcrumbs/BreadcrumbManager.swift",
"Vitals/Breadcrumbs/NetworkRequestFeature.swift",
"Vitals/Breadcrumbs/NetworkStateFeature.swift",
"Vitals/Breadcrumbs/UILifecycleFeature.swift",
"Vitals/Breadcrumbs/UserEventFeature.swift",
"Vitals/CheckoutEventReporter.swift",
"Vitals/DispatchSourceTimerPerformanceMonitor.swift",
"Vitals/DisplayLinkPerformanceMonitor.swift",
"Vitals/ErrorMetricStore.swift",
"Vitals/GroupTracking/BTGroupTimer.swift",
"Vitals/GroupTracking/BTTimerGroupManager.swift",
"Vitals/Launch/LaunchTimeMonitor.swift",
"Vitals/Launch/LaunchTimeReporter.swift",
"Vitals/Memory/MemoryWarningWatchDog.swift",
"Vitals/PerformanceMonitorBuilder.swift",
"Vitals/ResourceUsage.swift",
"Vitals/RunLoopServices.swift",
"Vitals/ScreenTracker/BTTScreenLifecycleTracker.swift",
"Vitals/ScreenTracker/BTTScreenTracker.swift",
"Vitals/ScreenTracker/BTTWebViewTracker.swift",
"Vitals/ScreenTracker/ViewControllerLifecycleTracker.swift",
"Vitals/ScreenTracker/ViewLifecycleTrackerModifier.swift",
"Vitals/TapTracker/BTEventEmitter.swift",
"Vitals/TapTracker/BTTouchAnchor.swift",
"Vitals/TapTracker/BTTrackModifier.swift",
"Vitals/TapTracker/BTViewRegistry.swift",
"Vitals/TimerPerformanceMonitor.swift"
],
"target_dependencies" : [
"Backtrace",
"AppEventLogger"
],
"type" : "library"
},
{
"c99name" : "Backtrace",
"module_type" : "ClangTarget",
"name" : "Backtrace",
"path" : "Sources/Backtrace",
"product_memberships" : [
"BlueTriangle"
],
"sources" : [
"backtress_extracter.c"
],
"type" : "library"
},
{
"c99name" : "AppEventLogger",
"module_type" : "ClangTarget",
"name" : "AppEventLogger",
"path" : "Sources/AppEventLogger",
"product_memberships" : [
"BlueTriangle"
],
"sources" : [
"AppNotificationLogger.m",
"NotificationLog.m",
"SignalHandler.m"
],
"type" : "library"
}
],
"tools_version" : "5.5"
}
Done.