The Swift Package Index logo.Swift Package Index

Has it really been five years since Swift Package Index launched? Read our anniversary blog post!

Build Information

Failed to build blue-triangle, reference 3.15.0-beta-1 (f03898), with Swift 6.1 for macOS (SPM) on 11 Jul 2025 15:41:03 UTC.

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64

Build Log

/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[123/129] Compiling BlueTriangle ANRWatchDog.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[124/129] Compiling BlueTriangle MainThreadObserver.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[125/129] Compiling BlueTriangle DispatchSourceTimerPerformanceMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[126/129] Compiling BlueTriangle DisplayLinkPerformanceMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[127/129] Compiling BlueTriangle BTGroupTimer.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[128/129] Compiling BlueTriangle BTTimerGroupManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
[129/129] Compiling BlueTriangle LaunchTimeMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Uploader.swift:149:20: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.Configuration' may have shared mutable state; this is an error in the Swift 6 language mode
134 |     }
135 |
136 |     struct Configuration {
    |            `- note: consider making struct 'Configuration' conform to the 'Sendable' protocol
137 |         let queue: DispatchQueue
138 |         let networking: Networking
    :
147 |         }
148 |
149 |         static let live = Self(
    |                    |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'Uploader.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
150 |             queue: DispatchQueue(label: "com.bluetriangle.uploader",
151 |                                  qos: .userInitiated,
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:49:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
 43 | }
 44 |
 45 | class MainThreadTraceProvider{
    |       `- note: class 'MainThreadTraceProvider' does not conform to the 'Sendable' protocol
 46 |     private var mainThreadRef : thread_t?
 47 |
 48 |
 49 |     static let shared = MainThreadTraceProvider()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'MainThreadTraceProvider' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 50 |
 51 |     func setup(){
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:123:40: warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
  9 | import Foundation
 10 |
 11 | class ANRWatchDog{
    |       `- note: class 'ANRWatchDog' does not conform to the 'Sendable' protocol
 12 |     static let DEFAULT_ERROR_INTERVAL_SEC: TimeInterval = 5
 13 |     static let MIN_ERROR_INTERVAL_SEC: TimeInterval = 3
    :
121 |         DispatchQueue.global(qos: .utility).async { [weak self] in
122 |             do {
123 |                 guard let strongSelf = self else {
    |                                        `- warning: capture of 'self' with non-sendable type 'ANRWatchDog?' in a '@Sendable' closure
124 |                     return
125 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRWatchDog.swift:127:77: warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
125 |                 }
126 |
127 |                 let timerRequest = try strongSelf.makeTimerRequest(session: session,
    |                                                                             `- warning: capture of 'session' with non-sendable type 'Session' in a '@Sendable' closure
128 |                                                                    report: report.report, pageName: report.pageName)
129 |                  strongSelf.uploader.send(request: timerRequest)
/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 |     let wcd = 1
12 |     let eventType = 9
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:98:16: warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' may have shared mutable state; this is an error in the Swift 6 language mode
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 96 |
 97 | extension MainThreadObserver{
 98 |     static let live: MainThreadObserver = {
    |                |- warning: static property 'live' is not concurrency-safe because non-'Sendable' type 'MainThreadObserver' 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
 99 |         MainThreadObserver()
100 |     }()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:65:28: warning: reference to captured var 'self' in concurrently-executing code
 63 |                 case .TaskStart:
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
    |                            `- warning: reference to captured var 'self' in concurrently-executing code
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
 67 |                         }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:66:29: warning: reference to captured var 'self' in concurrently-executing code
 64 |                     self?.queue.async {
 65 |                         if self?._runningTask == nil{
 66 |                             self?._runningTask = ThreadTask(startTime: Date())
    |                             `- warning: reference to captured var 'self' in concurrently-executing code
 67 |                         }
 68 |                     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: capture of 'self' with non-sendable type 'MainThreadObserver?' in a '@Sendable' closure
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:71:25: warning: reference to captured var 'self' in concurrently-executing code
 69 |                 case .TaskFinish:
 70 |                     self?.queue.async {
 71 |                         self?._runningTask = nil
    |                         `- warning: reference to captured var 'self' in concurrently-executing code
 72 |                     }
 73 |                 }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/MainThreadObserver.swift:85:32: warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 28 | }
 29 |
 30 | class MainThreadObserver : ThreadTaskObserver{
    |       `- note: class 'MainThreadObserver' does not conform to the 'Sendable' protocol
 31 |
 32 |     private var _runningTask : ThreadTask?
    :
 83 |         self.logger?.debug("Stoping MainThreadObserver...")
 84 |         queue.async {
 85 |             if let observing = self.observationToken{
    |                                `- warning: capture of 'self' with non-sendable type 'MainThreadObserver' in a '@Sendable' closure
 86 |                 self.registrationService.unregisterObserver(o: observing)
 87 |                 self.observationToken = nil
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:142:13: warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
  8 | import Foundation
  9 |
 10 | final class BTTimerGroup {
    |             `- note: class 'BTTimerGroup' does not conform to the 'Sendable' protocol
 11 |     private var timers: [BTTimer] = []
 12 |     private var idleTimer: Timer?
    :
140 |         idleTimer?.invalidate()
141 |         idleTimer = Timer.scheduledTimer(withTimeInterval: BlueTriangle.configuration.groupingIdleTime, repeats: false) { [weak self] _ in
142 |             self?.closeGroup()
    |             `- warning: capture of 'self' with non-sendable type 'BTTimerGroup?' in a '@Sendable' closure
143 |         }
144 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/ANR/ANRTrace/MainThreadStackTraceProvider.swift:53:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 51 |     func setup(){
 52 |         DispatchQueue.main.async {
 53 |             self.mainThreadRef = mach_thread_self()
    |             |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
    |             `- note: task-isolated 'self' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 54 |         }
 55 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:221: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
219 |
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         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
222 |             await collector?.start(page: page, startTime: startTime)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
223 |         }
224 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:227: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
225 |
226 |     private func captureGroupRequest(startTime : Millisecond, endTime: Millisecond, groupStartTime: Millisecond, response: CustomPageResponse) {
227 |         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
228 |             await collector?.collect(startTime: startTime, endTime: endTime, groupStartTime: groupStartTime, response: response)
    |                   `- note: closure captures 'self' which is accessible to code in the current task
229 |         }
230 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:233: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
231 |
232 |     private func uploadCollectedRequests() {
233 |         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
234 |             await collector?.uploadCollectedRequests()
    |                   `- note: closure captures 'self' which is accessible to code in the current task
235 |         }
236 |     }
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Vitals/GroupTracking/BTGroupTimer.swift:222:30: warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
220 |     private func startGroupTimerRequest(page : Page, startTime : TimeInterval) {
221 |         Task {
222 |             await collector?.start(page: page, startTime: startTime)
    |                              |- warning: sending 'page' risks causing data races; this is an error in the Swift 6 language mode
    |                              `- note: sending task-isolated 'page' to actor-isolated instance method 'start(page:startTime:)' risks causing data races between actor-isolated and task-isolated uses
223 |         }
224 |     }
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64
[0/1] Planning build
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/111] Emitting module BlueTriangle
/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 {
[3/123] Compiling BlueTriangle HTTPURLResponse+ContentType.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 {
[4/123] Compiling BlueTriangle JSONDecoder+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 {
[5/123] Compiling BlueTriangle NSException+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 {
[6/123] Compiling BlueTriangle NSLocking+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 {
[7/123] Compiling BlueTriangle NSNumber+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 {
[8/123] Compiling BlueTriangle NWPathMonitor+Combine.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 {
[9/123] 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 {
[10/123] 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 {
[11/123] 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 {
[12/123] 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 {
[13/123] 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 {
[14/123] 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 {
[15/123] Compiling BlueTriangle NetworkCaptureSessionDelegate.swift
[16/123] Compiling BlueTriangle Payload.swift
[17/123] Compiling BlueTriangle PayloadCache.swift
[18/123] Compiling BlueTriangle File.swift
[19/123] Compiling BlueTriangle Persistence.swift
[20/123] Compiling BlueTriangle PersistenceError.swift
[21/123] Compiling BlueTriangle UserLocation.swift
[22/123] Compiling BlueTriangle CaptureTimerManaging.swift
[23/123] Compiling BlueTriangle CapturedGroupRequestCollecting.swift
[24/123] Compiling BlueTriangle CapturedRequestCollecting.swift
[25/123] Compiling BlueTriangle CrashReportManaging.swift
[26/123] Compiling BlueTriangle CrashReportPersisting.swift
[27/123] Compiling BlueTriangle FileLocation.swift
[28/123] Compiling BlueTriangle Logging.swift
[29/123] Compiling BlueTriangle PerformanceMonitoring.swift
[30/123] Compiling BlueTriangle RequestFailureHandling.swift
[31/123] Compiling BlueTriangle ResourceMeasuring.swift
[32/123] Compiling BlueTriangle SystemLogging.swift
[33/123] Compiling BlueTriangle URLRequestConvertible.swift
[34/123] Compiling BlueTriangle Uploading.swift
[35/123] Compiling BlueTriangle Request.swift
[36/123] Compiling BlueTriangle RequestCache.swift
[37/123] Compiling BlueTriangle RequestFailureHandler.swift
[38/123] Compiling BlueTriangle SessionManager.swift
[39/123] Compiling BlueTriangle AppEventObserver.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[40/123] Compiling BlueTriangle BTLogger.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[41/123] Compiling BlueTriangle BTSignalCrashReporter.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[42/123] Compiling BlueTriangle BTTimer.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[43/123] Compiling BlueTriangle BlueTriangle.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[44/123] Compiling BlueTriangle BlueTriangleConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[45/123] Compiling BlueTriangle ClaritySessionConnector.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[46/123] Compiling BlueTriangle Constants.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[47/123] Compiling BlueTriangle CrashReportManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[48/123] Compiling BlueTriangle CrashReportPersistence.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[49/123] Compiling BlueTriangle Device.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[50/123] Compiling BlueTriangle DisableModeSessionManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[51/123] Compiling BlueTriangle BTTConfigurationFetcher.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1190:13: error: cannot find 'UIViewController' in scope
1188 |         configuration.enableScreenTracking = enabled
1189 |         if enabled {
1190 |             UIViewController.setUp()
     |             `- error: cannot find 'UIViewController' in scope
1191 |         } else {
1192 |             UIViewController.removeSetUp()
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/BlueTriangle.swift:1192:13: error: cannot find 'UIViewController' in scope
1190 |             UIViewController.setUp()
1191 |         } else {
1192 |             UIViewController.removeSetUp()
     |             `- error: cannot find 'UIViewController' in scope
1193 |         }
1194 |     }
[52/123] Compiling BlueTriangle CrashReport.swift
[53/123] Compiling BlueTriangle CustomCategories.swift
[54/123] Compiling BlueTriangle CustomNumbers.swift
[55/123] Compiling BlueTriangle CustomVariables.swift
[56/123] Compiling BlueTriangle ErrorReport.swift
[57/123] Compiling BlueTriangle NativeAppProperties.swift
[58/123] Compiling BlueTriangle Page.swift
[59/123] Compiling BlueTriangle PageTimeInterval.swift
[60/123] Compiling BlueTriangle PerformanceReport.swift
[61/123] Compiling BlueTriangle PurchaseConfirmation.swift
[62/123] Compiling BlueTriangle ResourceUsageMeasurement.swift
[63/123] Compiling BlueTriangle Session.swift
[64/123] Compiling BlueTriangle TimerRequestBuilder.swift
[65/123] Compiling BlueTriangle Uploader.swift
[66/123] Compiling BlueTriangle Version.swift
[67/123] Compiling BlueTriangle ANRPerformanceMonitor.swift
[68/123] Compiling BlueTriangle MainThreadStackTraceProvider.swift
[69/123] Compiling BlueTriangle ANRWatchDog.swift
[70/123] Compiling BlueTriangle MainThreadObserver.swift
[71/123] Compiling BlueTriangle DispatchSourceTimerPerformanceMonitor.swift
[72/123] Compiling BlueTriangle DisplayLinkPerformanceMonitor.swift
[73/123] Compiling BlueTriangle BTGroupTimer.swift
[74/123] Compiling BlueTriangle BTTimerGroupManager.swift
[75/123] Compiling BlueTriangle LaunchTimeMonitor.swift
[76/123] Compiling BlueTriangle BTTConfigurationRepo.swift
[77/123] Compiling BlueTriangle BTTConfigurationUpdater.swift
[78/123] Compiling BlueTriangle BTTRemoteConfig.swift
[79/123] Compiling BlueTriangle BTTSavedRemoteConfig.swift
[80/123] Compiling BlueTriangle BTTStoredConfigSyncer.swift
[81/123] Compiling BlueTriangle RemoteConfigAckReporter.swift
[82/123] Compiling BlueTriangle SessionStore.swift
[83/123] Compiling BlueTriangle Array+Vitals.swift
[84/123] Compiling BlueTriangle Bool+Utils.swift
[85/123] Compiling BlueTriangle Bundle+Utils.swift
[86/123] Compiling BlueTriangle Data+Utils.swift
[87/123] Compiling BlueTriangle Date+Utils.swift
[88/123] Compiling BlueTriangle TimerRequest.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[89/123] Compiling BlueTriangle BTTimerNetStateAccumulator.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[90/123] Compiling BlueTriangle CaptureTimerManager.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[91/123] Compiling BlueTriangle CapturedGroupRequestCollector.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[92/123] Compiling BlueTriangle CapturedRequestBuilder.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[93/123] Compiling BlueTriangle CapturedRequestCollector.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[94/123] Compiling BlueTriangle GroupRequestCollection.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[95/123] Compiling BlueTriangle NetworkCaptureConfiguration.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[96/123] Compiling BlueTriangle NetworkCaptureTracker.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[97/123] Compiling BlueTriangle NetworkStateMonitor.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[98/123] Compiling BlueTriangle NetworkTelephonyHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[99/123] Compiling BlueTriangle RequestCollection.swift
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:103:34: warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
101 |
102 |         // Custom Variables
103 |         if let customVars = page.customVariables {
    |                                  `- warning: 'customVariables' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' methods instead.
104 |             try con.encode(customVars.cv1, forKey: .cv1)
105 |             try con.encode(customVars.cv2, forKey: .cv2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:116:34: warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
114 |         }
115 |
116 |         if let customCats = page.customCategories {
    |                                  `- warning: 'customCategories' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
117 |             try con.encode(customCats.cv6, forKey: .cv6)
118 |             try con.encode(customCats.cv7, forKey: .cv7)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:124:34: warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
122 |         }
123 |
124 |         if let customNums = page.customNumbers {
    |                                  `- warning: 'customNumbers' is deprecated: Use BlueTriangle 'setCustomVariables(_ variables : [:] )' method instead.
125 |             try con.encode(customNums.cn1, forKey: .cn1)
126 |             try con.encode(customNums.cn2, forKey: .cn2)
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:192:31: warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
190 |
191 |         // CustomVariables
192 |         let customVariables = CustomVariables(
    |                               `- warning: 'CustomVariables' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
193 |             cv1: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv1),
194 |             cv2: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:205:32: warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
203 |
204 |         // CustomCategories
205 |         let customCategories = CustomCategories(
    |                                `- warning: 'CustomCategories' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
206 |             cv6: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv6),
207 |             cv7: try container.decodeIfPresent(String.self, forKey: CodingKeys.cv7),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:213:28: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
211 |
212 |         // CustomNumbers
213 |         let customNumbers: CustomNumbers?
    |                            `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:215:29: warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
213 |         let customNumbers: CustomNumbers?
214 |         if let cn1 = try container.decodeIfPresent(Double.self, forKey: CodingKeys.cn1) {
215 |             customNumbers = CustomNumbers(
    |                             `- warning: 'CustomNumbers' is deprecated: Use BlueTriangle 'setCustomVariable(_ name:, value:)' method instead.
216 |                 cn1: cn1,
217 |                 cn2: try container.decode(Double.self, forKey: CodingKeys.cn2),
/Users/admin/builder/spi-builder-workspace/Sources/BlueTriangle/Models/TimerRequest.swift:241:21: warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
239 |
240 |         // Page
241 |         self.page = Page(
    |                     `- warning: 'init(pageName:brandValue:pageType:referringURL:url:customVariables:customCategories:customNumbers:)' is deprecated: Use `init(pageName: ,brandValue: ,pageType: ,referringURL: ,url: )` instead.
242 |             pageName: try container.decode(String.self, forKey: CodingKeys.pageName),
243 |             brandValue: try container.decode(Decimal.self, forKey: CodingKeys.brandValue),
[100/123] Compiling BlueTriangle URLSession+NetworkCapture.swift
[101/123] Compiling BlueTriangle URLSession+Networking.swift
[102/123] Compiling BlueTriangle URLSession+Publisher.swift
[103/123] Compiling BlueTriangle UserDefault+Utils.swift
[104/123] Compiling BlueTriangle Identifier.swift
[105/123] Compiling BlueTriangle InternalTimer.swift
[106/123] Compiling BlueTriangle CrashReportResponse.swift
[107/123] Compiling BlueTriangle CrashSignal.swift
[108/123] Compiling BlueTriangle DignosticWatchDog.swift
[109/123] Compiling BlueTriangle Millisecond.swift
[110/123] Compiling BlueTriangle AnyCodable.swift
[111/123] Compiling BlueTriangle CapturedRequest.swift
[112/123] Compiling BlueTriangle LaunchTimeReporter.swift
[113/123] Compiling BlueTriangle MemoryWarningWatchDog.swift
[114/123] Compiling BlueTriangle PerformanceMonitorBuilder.swift
[115/123] Compiling BlueTriangle ResourceUsage.swift
[116/123] Compiling BlueTriangle RunLoopServices.swift
[117/123] Compiling BlueTriangle BTTScreenLifecycleTracker.swift
[118/123] Compiling BlueTriangle BTTScreenTracker.swift
[119/123] Compiling BlueTriangle BTTWebViewTracker.swift
[120/123] Compiling BlueTriangle ViewControllerLifecycleTracker.swift
[121/123] Compiling BlueTriangle ViewLifecycleTrackerModifier.swift
[122/123] Compiling BlueTriangle TimerPerformanceMonitor.swift
[123/123] Compiling BlueTriangle resource_bundle_accessor.swift
BUILD FAILURE 6.1 macosSpm