The Swift Package Index logo.Swift Package Index

Build Information

Successful build of PushNotifications, reference master (a0e4d0), with Swift 6.1 for macOS (SPM) on 4 Oct 2026 04:35:02 UTC.

Swift 6 data race errors: 5

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures

Build Log

========================================
RunAll
========================================
Builder version: 5.1.1
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pusher/push-notifications-swift.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pusher/push-notifications-swift
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at a0e4d0b Merge pull request #192 from pusher/bump-ios-minimum-to-15
Cloned https://github.com/pusher/push-notifications-swift.git
Revision (git rev-parse @):
a0e4d0b6f2dc9d15d0e3248f79eac2806e4803d4
SUCCESS checkout https://github.com/pusher/push-notifications-swift.git at master
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.1
Building package at path:  $PWD
https://github.com/pusher/push-notifications-swift.git
https://github.com/pusher/push-notifications-swift.git
{
  "dependencies" : [
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.2.0",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble"
    },
    {
      "identity" : "ohhttpstubs",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.1.0",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/AliSoftware/OHHTTPStubs"
    },
    {
      "identity" : "swiftlint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.43.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/realm/SwiftLint"
    }
  ],
  "manifest_display_name" : "PushNotifications",
  "name" : "PushNotifications",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "PushNotifications",
      "targets" : [
        "PushNotifications"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "PushNotificationsTests",
      "module_type" : "SwiftTarget",
      "name" : "PushNotificationsTests",
      "path" : "Tests",
      "product_dependencies" : [
        "Nimble",
        "OHHTTPStubs",
        "OHHTTPStubsSwift"
      ],
      "sources" : [
        "Extensions/Array+ContainsSameElements.swift",
        "Integration/ApplicationStartTests.swift",
        "Integration/ClearAllStateTest.swift",
        "Integration/DeviceInterestsTest.swift",
        "Integration/DeviceRegistrationTests.swift",
        "Integration/MultipleClassInstanceSupportTest.swift",
        "Integration/MultipleInstanceSupportTest.swift",
        "Integration/ReportEventTypeTests.swift",
        "Integration/SetUserIdTest.swift",
        "Integration/StopTests.swift",
        "Integration/TestAPIClientHelper.swift",
        "Integration/TestHelper.swift",
        "Unit/Extensions/ArrayContainsSameElementsTests.swift",
        "Unit/Helpers/DeviceTokenHelperTests.swift",
        "Unit/Helpers/InterestsMD5HashTests.swift",
        "Unit/Models/AuthDataTests.swift",
        "Unit/Models/ConstantsTests.swift",
        "Unit/Models/FeatureFlagsTests.swift",
        "Unit/Models/InterestsTests.swift",
        "Unit/Models/PublishIdTests.swift",
        "Unit/Models/ReasonTests.swift",
        "Unit/Models/RegisterTests.swift",
        "Unit/Models/SDKTests.swift",
        "Unit/Models/SystemVersionTests.swift",
        "Unit/Services/BeamsTokenProviderTests.swift",
        "Unit/Services/DeviceStateStoreTests.swift",
        "Unit/Services/DeviceTests.swift",
        "Unit/Services/EventTypeHandlerTests.swift",
        "Unit/Services/InstanceDeviceStateStoreTests.swift",
        "Unit/Services/InterestPersistableTests.swift",
        "Unit/Services/ServerSyncJobStoreTests.swift",
        "Unit/Services/ServerSyncProcessHandlerTests.swift",
        "Unit/Services/UserPersistableTests.swift"
      ],
      "target_dependencies" : [
        "PushNotifications"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PushNotifications",
      "module_type" : "SwiftTarget",
      "name" : "PushNotifications",
      "path" : "Sources",
      "product_memberships" : [
        "PushNotifications"
      ],
      "sources" : [
        "Extensions/Array+CalculateMD5Hash.swift",
        "Extensions/Encodable+Encode.swift",
        "Extensions/String+HexStringToData.swift",
        "Extensions/URL+NetworkService.swift",
        "Helpers/DeviceTokenHelper.swift",
        "Helpers/MD5.swift",
        "Models/AuthData.swift",
        "Models/Constants.swift",
        "Models/Device.swift",
        "Models/FeatureFlags.swift",
        "Models/HTTPMethod.swift",
        "Models/InstanceId.swift",
        "Models/InterestValidationError.swift",
        "Models/Interests.swift",
        "Models/Metadata.swift",
        "Models/MultipleInvalidInterestsError.swift",
        "Models/PersistenceConstants.swift",
        "Models/PublishId.swift",
        "Models/PushNotificationsAPIError.swift",
        "Models/PushNotificationsError.swift",
        "Models/PusherAlreadyRegisteredError.swift",
        "Models/Reason.swift",
        "Models/Register.swift",
        "Models/RemoteNotificationType.swift",
        "Models/SDK.swift",
        "Models/ServerSyncEvent.swift",
        "Models/ServerSyncJob.swift",
        "Models/SystemVersion.swift",
        "Models/Token.swift",
        "Protocols/PropertyListReadable.swift",
        "Protocols/PushNotificationsNetworkable.swift",
        "Protocols/ReportEventType.swift",
        "Protocols/RetryStrategy.swift",
        "Protocols/TokenProvider.swift",
        "PushNotifications.swift",
        "PushNotificationsStatic.swift",
        "Services/BeamsTokenProvider.swift",
        "Services/DeviceStateStore.swift",
        "Services/EventTypeHandler.swift",
        "Services/NetworkService.swift",
        "Services/ServerSyncEventHandler.swift",
        "Services/ServerSyncJobStore.swift",
        "Services/ServerSyncProcessHandler.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
[1/1] Compiling plugin SwiftLintCommandPlugin
[2/2] Compiling plugin SwiftLintBuildToolPlugin
[3/3] Compiling plugin GenerateManual
[4/4] Compiling plugin GenerateDoccReference
Building for debugging...
[4/6] Write sources
[5/6] Write swift-version-2F0A5646E1D333AE.txt
[7/46] Emitting module PushNotifications
/Users/admin/builder/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     let macosVersion: String?
 7 |
 8 |     static var current: Metadata = {
   |                |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |         let sdkVersion = SDK.version
10 |         let systemVersion = SystemVersion.version
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     }
 16 |
 17 |     private static var instance: PushNotifications?
    |                        |- warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     static var tokenProvider = [String: TokenProvider]()
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |
 17 |     private static var instance: PushNotifications?
 18 |     static var tokenProvider = [String: TokenProvider]()
    |                |- warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'tokenProvider' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
 6 |     static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
   |                |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'serverSyncEventHandlers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     static func obtain(instanceId: String) -> ServerSyncEventHandler {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | class ServerSyncProcessHandler {
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    |                        |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'serverSyncHandlers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |     static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
  7 |         return serverSyncHandlersQueue.sync {
[8/50] Compiling PushNotifications MultipleInvalidInterestsError.swift
[9/50] Compiling PushNotifications PersistenceConstants.swift
[10/50] Compiling PushNotifications PublishId.swift
[11/50] Compiling PushNotifications PushNotificationsAPIError.swift
[12/50] Compiling PushNotifications NetworkService.swift
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:236:17: warning: mutation of captured var 'result' in concurrently-executing code
234 |                 let httpURLResponse = response as? HTTPURLResponse
235 |             else {
236 |                 result = .failure(.genericError(reason: "Error!"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
237 |                 semaphore.signal()
238 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:242:17: warning: mutation of captured var 'result' in concurrently-executing code
240 |
241 |             if error != nil {
242 |                 result = .failure(.genericError(reason: "\(error!.localizedDescription)"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
243 |                 semaphore.signal()
244 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:250:17: warning: mutation of captured var 'result' in concurrently-executing code
248 |             switch statusCode {
249 |             case 200..<300:
250 |                 result = .success(data)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
251 |
252 |             case 400:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:255:17: warning: mutation of captured var 'result' in concurrently-executing code
253 |                 let reason = try? JSONDecoder().decode(Reason.self, from: data)
254 |
255 |                 result = .failure(.badRequest(reason: reason?.description  ?? "Unknown API error"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
256 |
257 |             case 401, 403:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:262:21: warning: mutation of captured var 'result' in concurrently-executing code
260 |                 // Hack, until we add error codes in the server.
261 |                 if reason?.description.contains("device token") ?? false {
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:264:21: warning: mutation of captured var 'result' in concurrently-executing code
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
265 |                 }
266 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:268:17: warning: mutation of captured var 'result' in concurrently-executing code
266 |
267 |             case 404:
268 |                 result = .failure(.deviceNotFound)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
269 |
270 |             default:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:274:21: warning: mutation of captured var 'result' in concurrently-executing code
272 |
273 |                 if reason?.description.elementsEqual("Device could not be created") ?? false {
274 |                     result = .failure(.couldNotCreateDevice)
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:276:21: warning: mutation of captured var 'result' in concurrently-executing code
274 |                     result = .failure(.couldNotCreateDevice)
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
277 |                 }
278 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
 6 |     static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
   |                |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'serverSyncEventHandlers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     static func obtain(instanceId: String) -> ServerSyncEventHandler {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | class ServerSyncProcessHandler {
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    |                        |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'serverSyncHandlers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |     static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
  7 |         return serverSyncHandlersQueue.sync {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:21: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                     `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:55: warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                                                       `- warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:13: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |             `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |                                  `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                 `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                                                   `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:36:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
34 |             switch event {
35 |             case .interestsChangedEvent(let interests):
36 |                 self.interestsChangedDelegates.forEach({ delegate in
   |                 |- 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
37 |                     if let delegate = delegate() {
38 |                         delegate.interestsSetOnDeviceDidChange(interests: interests)
[13/50] Compiling PushNotifications ServerSyncEventHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:236:17: warning: mutation of captured var 'result' in concurrently-executing code
234 |                 let httpURLResponse = response as? HTTPURLResponse
235 |             else {
236 |                 result = .failure(.genericError(reason: "Error!"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
237 |                 semaphore.signal()
238 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:242:17: warning: mutation of captured var 'result' in concurrently-executing code
240 |
241 |             if error != nil {
242 |                 result = .failure(.genericError(reason: "\(error!.localizedDescription)"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
243 |                 semaphore.signal()
244 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:250:17: warning: mutation of captured var 'result' in concurrently-executing code
248 |             switch statusCode {
249 |             case 200..<300:
250 |                 result = .success(data)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
251 |
252 |             case 400:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:255:17: warning: mutation of captured var 'result' in concurrently-executing code
253 |                 let reason = try? JSONDecoder().decode(Reason.self, from: data)
254 |
255 |                 result = .failure(.badRequest(reason: reason?.description  ?? "Unknown API error"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
256 |
257 |             case 401, 403:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:262:21: warning: mutation of captured var 'result' in concurrently-executing code
260 |                 // Hack, until we add error codes in the server.
261 |                 if reason?.description.contains("device token") ?? false {
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:264:21: warning: mutation of captured var 'result' in concurrently-executing code
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
265 |                 }
266 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:268:17: warning: mutation of captured var 'result' in concurrently-executing code
266 |
267 |             case 404:
268 |                 result = .failure(.deviceNotFound)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
269 |
270 |             default:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:274:21: warning: mutation of captured var 'result' in concurrently-executing code
272 |
273 |                 if reason?.description.elementsEqual("Device could not be created") ?? false {
274 |                     result = .failure(.couldNotCreateDevice)
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:276:21: warning: mutation of captured var 'result' in concurrently-executing code
274 |                     result = .failure(.couldNotCreateDevice)
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
277 |                 }
278 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
 6 |     static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
   |                |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'serverSyncEventHandlers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     static func obtain(instanceId: String) -> ServerSyncEventHandler {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | class ServerSyncProcessHandler {
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    |                        |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'serverSyncHandlers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |     static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
  7 |         return serverSyncHandlersQueue.sync {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:21: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                     `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:55: warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                                                       `- warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:13: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |             `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |                                  `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                 `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                                                   `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:36:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
34 |             switch event {
35 |             case .interestsChangedEvent(let interests):
36 |                 self.interestsChangedDelegates.forEach({ delegate in
   |                 |- 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
37 |                     if let delegate = delegate() {
38 |                         delegate.interestsSetOnDeviceDidChange(interests: interests)
[14/50] Compiling PushNotifications ServerSyncJobStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:236:17: warning: mutation of captured var 'result' in concurrently-executing code
234 |                 let httpURLResponse = response as? HTTPURLResponse
235 |             else {
236 |                 result = .failure(.genericError(reason: "Error!"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
237 |                 semaphore.signal()
238 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:242:17: warning: mutation of captured var 'result' in concurrently-executing code
240 |
241 |             if error != nil {
242 |                 result = .failure(.genericError(reason: "\(error!.localizedDescription)"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
243 |                 semaphore.signal()
244 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:250:17: warning: mutation of captured var 'result' in concurrently-executing code
248 |             switch statusCode {
249 |             case 200..<300:
250 |                 result = .success(data)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
251 |
252 |             case 400:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:255:17: warning: mutation of captured var 'result' in concurrently-executing code
253 |                 let reason = try? JSONDecoder().decode(Reason.self, from: data)
254 |
255 |                 result = .failure(.badRequest(reason: reason?.description  ?? "Unknown API error"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
256 |
257 |             case 401, 403:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:262:21: warning: mutation of captured var 'result' in concurrently-executing code
260 |                 // Hack, until we add error codes in the server.
261 |                 if reason?.description.contains("device token") ?? false {
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:264:21: warning: mutation of captured var 'result' in concurrently-executing code
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
265 |                 }
266 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:268:17: warning: mutation of captured var 'result' in concurrently-executing code
266 |
267 |             case 404:
268 |                 result = .failure(.deviceNotFound)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
269 |
270 |             default:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:274:21: warning: mutation of captured var 'result' in concurrently-executing code
272 |
273 |                 if reason?.description.elementsEqual("Device could not be created") ?? false {
274 |                     result = .failure(.couldNotCreateDevice)
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:276:21: warning: mutation of captured var 'result' in concurrently-executing code
274 |                     result = .failure(.couldNotCreateDevice)
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
277 |                 }
278 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
 6 |     static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
   |                |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'serverSyncEventHandlers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     static func obtain(instanceId: String) -> ServerSyncEventHandler {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | class ServerSyncProcessHandler {
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    |                        |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'serverSyncHandlers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |     static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
  7 |         return serverSyncHandlersQueue.sync {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:21: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                     `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:55: warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                                                       `- warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:13: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |             `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |                                  `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                 `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                                                   `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:36:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
34 |             switch event {
35 |             case .interestsChangedEvent(let interests):
36 |                 self.interestsChangedDelegates.forEach({ delegate in
   |                 |- 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
37 |                     if let delegate = delegate() {
38 |                         delegate.interestsSetOnDeviceDidChange(interests: interests)
[15/50] Compiling PushNotifications ServerSyncProcessHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:236:17: warning: mutation of captured var 'result' in concurrently-executing code
234 |                 let httpURLResponse = response as? HTTPURLResponse
235 |             else {
236 |                 result = .failure(.genericError(reason: "Error!"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
237 |                 semaphore.signal()
238 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:242:17: warning: mutation of captured var 'result' in concurrently-executing code
240 |
241 |             if error != nil {
242 |                 result = .failure(.genericError(reason: "\(error!.localizedDescription)"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
243 |                 semaphore.signal()
244 |                 return
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:250:17: warning: mutation of captured var 'result' in concurrently-executing code
248 |             switch statusCode {
249 |             case 200..<300:
250 |                 result = .success(data)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
251 |
252 |             case 400:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:255:17: warning: mutation of captured var 'result' in concurrently-executing code
253 |                 let reason = try? JSONDecoder().decode(Reason.self, from: data)
254 |
255 |                 result = .failure(.badRequest(reason: reason?.description  ?? "Unknown API error"))
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
256 |
257 |             case 401, 403:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:262:21: warning: mutation of captured var 'result' in concurrently-executing code
260 |                 // Hack, until we add error codes in the server.
261 |                 if reason?.description.contains("device token") ?? false {
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:264:21: warning: mutation of captured var 'result' in concurrently-executing code
262 |                     result = .failure(.badDeviceToken(reason: reason!.description))
263 |                 } else {
264 |                     result = .failure(.badJWT(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
265 |                 }
266 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:268:17: warning: mutation of captured var 'result' in concurrently-executing code
266 |
267 |             case 404:
268 |                 result = .failure(.deviceNotFound)
    |                 `- warning: mutation of captured var 'result' in concurrently-executing code
269 |
270 |             default:
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:274:21: warning: mutation of captured var 'result' in concurrently-executing code
272 |
273 |                 if reason?.description.elementsEqual("Device could not be created") ?? false {
274 |                     result = .failure(.couldNotCreateDevice)
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
/Users/admin/builder/spi-builder-workspace/Sources/Services/NetworkService.swift:276:21: warning: mutation of captured var 'result' in concurrently-executing code
274 |                     result = .failure(.couldNotCreateDevice)
275 |                 } else {
276 |                     result = .failure(.genericError(reason: reason?.description  ?? "Unknown API error"))
    |                     `- warning: mutation of captured var 'result' in concurrently-executing code
277 |                 }
278 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:6:16: warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 4 |
 5 |     static let serverSyncEventHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncEventHandlersQueue")
 6 |     static var serverSyncEventHandlers = [String: ServerSyncEventHandler]()
   |                |- warning: static property 'serverSyncEventHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'serverSyncEventHandlers' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'serverSyncEventHandlers' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 7 |
 8 |     static func obtain(instanceId: String) -> ServerSyncEventHandler {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:5:24: warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
  3 | class ServerSyncProcessHandler {
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    |                        |- warning: static property 'serverSyncHandlers' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'serverSyncHandlers' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'serverSyncHandlers' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
  6 |     static func obtain(instanceId: String, getTokenProvider: @escaping () -> TokenProvider?, handleServerSyncEvent: @escaping (ServerSyncEvent) -> Void) -> ServerSyncProcessHandler {
  7 |         return serverSyncHandlersQueue.sync {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:21: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                     `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:60:55: warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 58 |             default:
 59 |                 self.handleMessageQueue.async {
 60 |                     self.handleMessage(serverSyncJob: job)
    |                                                       `- warning: capture of 'job' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 61 |                 }
 62 |             }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:13: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |             `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:68:34: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 66 |     func sendMessage(serverSyncJob: ServerSyncJob) {
 67 |         self.sendMessageQueue.async {
 68 |             self.jobQueue.append(serverSyncJob)
    |                                  `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:17: warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
  1 | import Foundation
  2 |
  3 | class ServerSyncProcessHandler {
    |       `- note: class 'ServerSyncProcessHandler' does not conform to the 'Sendable' protocol
  4 |     private static let serverSyncHandlersQueue = DispatchQueue(label: "com.pusher.beams.serverSyncHandlersQueue")
  5 |     private static var serverSyncHandlers = [String: ServerSyncProcessHandler]()
    :
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                 `- warning: capture of 'self' with non-sendable type 'ServerSyncProcessHandler' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncProcessHandler.swift:71:51: warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 69 |
 70 |             self.handleMessageQueue.async {
 71 |                 self.handleMessage(serverSyncJob: serverSyncJob)
    |                                                   `- warning: capture of 'serverSyncJob' with non-sendable type 'ServerSyncJob' in a '@Sendable' closure
 72 |             }
 73 |         }
/Users/admin/builder/spi-builder-workspace/Sources/Models/ServerSyncJob.swift:3:6: note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  1 | import Foundation
  2 |
  3 | enum ServerSyncJob {
    |      `- note: consider making enum 'ServerSyncJob' conform to the 'Sendable' protocol
  4 |     case startJob(instanceId: String, token: String)
  5 |     case refreshTokenJob(newToken: String)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ServerSyncEventHandler.swift:36:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
34 |             switch event {
35 |             case .interestsChangedEvent(let interests):
36 |                 self.interestsChangedDelegates.forEach({ delegate in
   |                 |- 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
37 |                     if let delegate = delegate() {
38 |                         delegate.interestsSetOnDeviceDidChange(interests: interests)
[16/50] Compiling PushNotifications Array+CalculateMD5Hash.swift
[17/50] Compiling PushNotifications Encodable+Encode.swift
[18/50] Compiling PushNotifications String+HexStringToData.swift
[19/50] Compiling PushNotifications URL+NetworkService.swift
[20/50] Compiling PushNotifications DeviceTokenHelper.swift
[21/50] Compiling PushNotifications PushNotificationsError.swift
[22/50] Compiling PushNotifications PusherAlreadyRegisteredError.swift
[23/50] Compiling PushNotifications Reason.swift
[24/50] Compiling PushNotifications Register.swift
[25/50] Compiling PushNotifications SystemVersion.swift
[26/50] Compiling PushNotifications Token.swift
[27/50] Compiling PushNotifications PropertyListReadable.swift
[28/50] Compiling PushNotifications PushNotificationsNetworkable.swift
[29/50] Compiling PushNotifications HTTPMethod.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     let macosVersion: String?
 7 |
 8 |     static var current: Metadata = {
   |                |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |         let sdkVersion = SDK.version
10 |         let systemVersion = SystemVersion.version
[30/50] Compiling PushNotifications InstanceId.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     let macosVersion: String?
 7 |
 8 |     static var current: Metadata = {
   |                |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |         let sdkVersion = SDK.version
10 |         let systemVersion = SystemVersion.version
[31/50] Compiling PushNotifications InterestValidationError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     let macosVersion: String?
 7 |
 8 |     static var current: Metadata = {
   |                |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |         let sdkVersion = SDK.version
10 |         let systemVersion = SystemVersion.version
[32/50] Compiling PushNotifications Interests.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     let macosVersion: String?
 7 |
 8 |     static var current: Metadata = {
   |                |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |         let sdkVersion = SDK.version
10 |         let systemVersion = SystemVersion.version
[33/50] Compiling PushNotifications Metadata.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/Metadata.swift:8:16: warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 6 |     let macosVersion: String?
 7 |
 8 |     static var current: Metadata = {
   |                |- warning: static property 'current' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert 'current' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property 'current' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 9 |         let sdkVersion = SDK.version
10 |         let systemVersion = SystemVersion.version
[34/50] Compiling PushNotifications PushNotificationsStatic.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     }
 16 |
 17 |     private static var instance: PushNotifications?
    |                        |- warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     static var tokenProvider = [String: TokenProvider]()
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |
 17 |     private static var instance: PushNotifications?
 18 |     static var tokenProvider = [String: TokenProvider]()
    |                |- warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'tokenProvider' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:30: warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                              `- warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
AppKit.NSApplication.registerForRemoteNotifications:3:24: note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
1 | class NSApplication {
2 | @available(macOS 10.7, *)
3 |   @MainActor open func registerForRemoteNotifications(matching types: NSApplication.RemoteNotificationType)}
  |                        |- note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:23: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                       `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:51:24: warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
49 |         urlSession.dataTask(with: urlRequest, completionHandler: { data, response, error in
50 |             guard let data = data else {
51 |                 return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Token is nil"))
   |                        |- warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
52 |             }
53 |             guard let httpURLResponse = response as? HTTPURLResponse else {
[35/50] Compiling PushNotifications BeamsTokenProvider.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     }
 16 |
 17 |     private static var instance: PushNotifications?
    |                        |- warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     static var tokenProvider = [String: TokenProvider]()
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |
 17 |     private static var instance: PushNotifications?
 18 |     static var tokenProvider = [String: TokenProvider]()
    |                |- warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'tokenProvider' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:30: warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                              `- warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
AppKit.NSApplication.registerForRemoteNotifications:3:24: note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
1 | class NSApplication {
2 | @available(macOS 10.7, *)
3 |   @MainActor open func registerForRemoteNotifications(matching types: NSApplication.RemoteNotificationType)}
  |                        |- note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:23: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                       `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:51:24: warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
49 |         urlSession.dataTask(with: urlRequest, completionHandler: { data, response, error in
50 |             guard let data = data else {
51 |                 return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Token is nil"))
   |                        |- warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
52 |             }
53 |             guard let httpURLResponse = response as? HTTPURLResponse else {
[36/50] Compiling PushNotifications DeviceStateStore.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     }
 16 |
 17 |     private static var instance: PushNotifications?
    |                        |- warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     static var tokenProvider = [String: TokenProvider]()
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |
 17 |     private static var instance: PushNotifications?
 18 |     static var tokenProvider = [String: TokenProvider]()
    |                |- warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'tokenProvider' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:30: warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                              `- warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
AppKit.NSApplication.registerForRemoteNotifications:3:24: note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
1 | class NSApplication {
2 | @available(macOS 10.7, *)
3 |   @MainActor open func registerForRemoteNotifications(matching types: NSApplication.RemoteNotificationType)}
  |                        |- note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:23: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                       `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:51:24: warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
49 |         urlSession.dataTask(with: urlRequest, completionHandler: { data, response, error in
50 |             guard let data = data else {
51 |                 return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Token is nil"))
   |                        |- warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
52 |             }
53 |             guard let httpURLResponse = response as? HTTPURLResponse else {
[37/50] Compiling PushNotifications EventTypeHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:17:24: warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 15 |     }
 16 |
 17 |     private static var instance: PushNotifications?
    |                        |- warning: static property 'instance' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                        |- note: convert 'instance' to a 'let' constant to make 'Sendable' shared state immutable
    |                        |- note: add '@MainActor' to make static property 'instance' part of global actor 'MainActor'
    |                        `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 18 |     static var tokenProvider = [String: TokenProvider]()
 19 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:18:16: warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
 16 |
 17 |     private static var instance: PushNotifications?
 18 |     static var tokenProvider = [String: TokenProvider]()
    |                |- warning: static property 'tokenProvider' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: convert 'tokenProvider' to a 'let' constant to make 'Sendable' shared state immutable
    |                |- note: add '@MainActor' to make static property 'tokenProvider' part of global actor 'MainActor'
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 19 |
 20 |     /**
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:30: warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                              `- warning: call to main actor-isolated instance method 'registerForRemoteNotifications(matching:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
AppKit.NSApplication.registerForRemoteNotifications:3:24: note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
1 | class NSApplication {
2 | @available(macOS 10.7, *)
3 |   @MainActor open func registerForRemoteNotifications(matching types: NSApplication.RemoteNotificationType)}
  |                        |- note: calls to instance method 'registerForRemoteNotifications(matching:)' from outside of its actor context are implicitly asynchronous
  |                        `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/PushNotificationsStatic.swift:90:23: warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 87 |     }
 88 |     #elseif os(OSX)
 89 |     private static func registerForPushNotifications(options: NSApplication.RemoteNotificationType) {
    |                         `- note: add '@MainActor' to make static method 'registerForPushNotifications(options:)' part of global actor 'MainActor'
 90 |         NSApplication.shared.registerForRemoteNotifications(matching: options)
    |                       `- warning: main actor-isolated class property 'shared' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
 91 |     }
 92 |     #endif
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:193:61: note: class property declared here
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
    |                                                             `- note: class property declared here
194 | @property (nullable, weak) id<NSApplicationDelegate> delegate;
195 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/BeamsTokenProvider.swift:51:24: warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
49 |         urlSession.dataTask(with: urlRequest, completionHandler: { data, response, error in
50 |             guard let data = data else {
51 |                 return completion("", TokenProviderError.error("[PushNotifications] - BeamsTokenProvider: Token is nil"))
   |                        |- warning: capture of 'completion' with non-sendable type '(String, (any Error)?) -> Void' in a '@Sendable' closure
   |                        `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
52 |             }
53 |             guard let httpURLResponse = response as? HTTPURLResponse else {
[38/50] Compiling PushNotifications MD5.swift
[39/50] Compiling PushNotifications AuthData.swift
[40/50] Compiling PushNotifications Constants.swift
[41/50] Compiling PushNotifications Device.swift
[42/50] Compiling PushNotifications FeatureFlags.swift
[43/50] Compiling PushNotifications ReportEventType.swift
[44/50] Compiling PushNotifications RetryStrategy.swift
[45/50] Compiling PushNotifications TokenProvider.swift
[46/50] Compiling PushNotifications PushNotifications.swift
[47/50] Compiling PushNotifications RemoteNotificationType.swift
[48/50] Compiling PushNotifications SDK.swift
[49/50] Compiling PushNotifications ServerSyncEvent.swift
[50/50] Compiling PushNotifications ServerSyncJob.swift
Build complete! (215.27s)
Fetching https://github.com/AliSoftware/OHHTTPStubs
Fetching https://github.com/realm/SwiftLint
Fetching https://github.com/Quick/Nimble
[1/7900] Fetching ohhttpstubs
[1186/27886] Fetching ohhttpstubs, nimble
[11099/193800] Fetching ohhttpstubs, nimble, swiftlint
Fetched https://github.com/AliSoftware/OHHTTPStubs from cache (174.38s)
Fetched https://github.com/realm/SwiftLint from cache (174.38s)
Fetched https://github.com/Quick/Nimble from cache (174.38s)
Computing version for https://github.com/AliSoftware/OHHTTPStubs
Computed https://github.com/AliSoftware/OHHTTPStubs at 9.1.0 (175.25s)
Computing version for https://github.com/Quick/Nimble
Computed https://github.com/Quick/Nimble at 9.2.1 (0.60s)
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
[1/1257] Fetching cwlpreconditiontesting
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (0.94s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.2 (1.54s)
Fetching https://github.com/mattgallagher/CwlCatchException.git
[1/460] Fetching cwlcatchexception
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (0.77s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.2.1 (1.41s)
Computing version for https://github.com/realm/SwiftLint
Computed https://github.com/realm/SwiftLint at 0.65.1 (0.61s)
Fetching https://github.com/ileitch/swift-filename-matcher
Fetching https://github.com/JohnSundell/CollectionConcurrencyKit.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
Fetching https://github.com/scottrhoyt/SwiftyTextTable.git
Fetching https://github.com/jpsim/SourceKitten.git
Fetching https://github.com/jpsim/Yams.git from cache
Fetching https://github.com/swiftlang/swift-syntax.git from cache
[1/929] Fetching swiftytexttable
[11/1030] Fetching swiftytexttable, collectionconcurrencykit
[14/1093] Fetching swiftytexttable, collectionconcurrencykit, swift-filename-matcher
[221/14532] Fetching swiftytexttable, collectionconcurrencykit, swift-filename-matcher, cryptoswift
[579/30910] Fetching swiftytexttable, collectionconcurrencykit, swift-filename-matcher, cryptoswift, sourcekitten
Fetched https://github.com/JohnSundell/CollectionConcurrencyKit.git from cache (1.02s)
[1963/30809] Fetching swiftytexttable, swift-filename-matcher, cryptoswift, sourcekitten
Fetching https://github.com/apple/swift-argument-parser.git from cache
Fetched https://github.com/scottrhoyt/SwiftyTextTable.git from cache (1.47s)
[7812/29880] Fetching swift-filename-matcher, cryptoswift, sourcekitten
Fetched https://github.com/jpsim/SourceKitten.git from cache (2.82s)
Fetched https://github.com/krzyzanowskim/CryptoSwift.git from cache (2.82s)
Fetched https://github.com/ileitch/swift-filename-matcher from cache (2.82s)
Fetched https://github.com/jpsim/Yams.git from cache (2.86s)
Fetched https://github.com/apple/swift-argument-parser.git from cache (1.85s)
Fetched https://github.com/swiftlang/swift-syntax.git from cache (2.98s)
Computing version for https://github.com/ileitch/swift-filename-matcher
Computed https://github.com/ileitch/swift-filename-matcher at 2.0.1 (3.65s)
Computing version for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Computed https://github.com/JohnSundell/CollectionConcurrencyKit.git at 0.2.0 (0.59s)
Computing version for https://github.com/scottrhoyt/SwiftyTextTable.git
Computed https://github.com/scottrhoyt/SwiftyTextTable.git at 0.9.0 (2.45s)
Computing version for https://github.com/krzyzanowskim/CryptoSwift.git
Computed https://github.com/krzyzanowskim/CryptoSwift.git at 1.10.0 (0.58s)
Computing version for https://github.com/jpsim/SourceKitten.git
Computed https://github.com/jpsim/SourceKitten.git at 0.39.0 (0.59s)
Fetching https://github.com/drmohundro/SWXMLHash.git
[1/2879] Fetching swxmlhash
Fetched https://github.com/drmohundro/SWXMLHash.git from cache (1.10s)
Computing version for https://github.com/drmohundro/SWXMLHash.git
Computed https://github.com/drmohundro/SWXMLHash.git at 7.0.2 (1.72s)
Computing version for https://github.com/jpsim/Yams.git
Computed https://github.com/jpsim/Yams.git at 6.2.2 (0.51s)
Computing version for https://github.com/apple/swift-argument-parser.git
Computed https://github.com/apple/swift-argument-parser.git at 1.8.2 (0.50s)
Computing version for https://github.com/swiftlang/swift-syntax.git
Computed https://github.com/swiftlang/swift-syntax.git at 605.0.0-prerelease-2026-06-26 (0.71s)
Creating working copy for https://github.com/jpsim/Yams.git
Working copy of https://github.com/jpsim/Yams.git resolved at 6.2.2
Creating working copy for https://github.com/swiftlang/swift-syntax.git
Working copy of https://github.com/swiftlang/swift-syntax.git resolved at 605.0.0-prerelease-2026-06-26
Creating working copy for https://github.com/Quick/Nimble
Working copy of https://github.com/Quick/Nimble resolved at 9.2.1
Creating working copy for https://github.com/drmohundro/SWXMLHash.git
Working copy of https://github.com/drmohundro/SWXMLHash.git resolved at 7.0.2
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.2
Creating working copy for https://github.com/AliSoftware/OHHTTPStubs
Working copy of https://github.com/AliSoftware/OHHTTPStubs resolved at 9.1.0
Creating working copy for https://github.com/ileitch/swift-filename-matcher
Working copy of https://github.com/ileitch/swift-filename-matcher resolved at 2.0.1
Creating working copy for https://github.com/realm/SwiftLint
Working copy of https://github.com/realm/SwiftLint resolved at 0.65.1
Creating working copy for https://github.com/krzyzanowskim/CryptoSwift.git
Working copy of https://github.com/krzyzanowskim/CryptoSwift.git resolved at 1.10.0
Creating working copy for https://github.com/scottrhoyt/SwiftyTextTable.git
Working copy of https://github.com/scottrhoyt/SwiftyTextTable.git resolved at 0.9.0
Creating working copy for https://github.com/apple/swift-argument-parser.git
Working copy of https://github.com/apple/swift-argument-parser.git resolved at 1.8.2
Creating working copy for https://github.com/JohnSundell/CollectionConcurrencyKit.git
Working copy of https://github.com/JohnSundell/CollectionConcurrencyKit.git resolved at 0.2.0
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.2.1
Creating working copy for https://github.com/jpsim/SourceKitten.git
Working copy of https://github.com/jpsim/SourceKitten.git resolved at 0.39.0
Downloading binary artifact https://github.com/realm/SwiftLint/releases/download/0.65.1/SwiftLintBinary.artifactbundle.zip
[16375/75992853] Downloading https://github.com/realm/SwiftLint/releases/download/0.65.1/SwiftLintBinary.artifactbundle.zip
Downloaded https://github.com/realm/SwiftLint/releases/download/0.65.1/SwiftLintBinary.artifactbundle.zip (3.62s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "nimble",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.2.0",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/Quick/Nimble"
    },
    {
      "identity" : "ohhttpstubs",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "9.1.0",
            "upper_bound" : "10.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/AliSoftware/OHHTTPStubs"
    },
    {
      "identity" : "swiftlint",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.43.1",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/realm/SwiftLint"
    }
  ],
  "manifest_display_name" : "PushNotifications",
  "name" : "PushNotifications",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "macos",
      "version" : "12.0"
    },
    {
      "name" : "ios",
      "version" : "15.0"
    }
  ],
  "products" : [
    {
      "name" : "PushNotifications",
      "targets" : [
        "PushNotifications"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "PushNotificationsTests",
      "module_type" : "SwiftTarget",
      "name" : "PushNotificationsTests",
      "path" : "Tests",
      "product_dependencies" : [
        "Nimble",
        "OHHTTPStubs",
        "OHHTTPStubsSwift"
      ],
      "sources" : [
        "Extensions/Array+ContainsSameElements.swift",
        "Integration/ApplicationStartTests.swift",
        "Integration/ClearAllStateTest.swift",
        "Integration/DeviceInterestsTest.swift",
        "Integration/DeviceRegistrationTests.swift",
        "Integration/MultipleClassInstanceSupportTest.swift",
        "Integration/MultipleInstanceSupportTest.swift",
        "Integration/ReportEventTypeTests.swift",
        "Integration/SetUserIdTest.swift",
        "Integration/StopTests.swift",
        "Integration/TestAPIClientHelper.swift",
        "Integration/TestHelper.swift",
        "Unit/Extensions/ArrayContainsSameElementsTests.swift",
        "Unit/Helpers/DeviceTokenHelperTests.swift",
        "Unit/Helpers/InterestsMD5HashTests.swift",
        "Unit/Models/AuthDataTests.swift",
        "Unit/Models/ConstantsTests.swift",
        "Unit/Models/FeatureFlagsTests.swift",
        "Unit/Models/InterestsTests.swift",
        "Unit/Models/PublishIdTests.swift",
        "Unit/Models/ReasonTests.swift",
        "Unit/Models/RegisterTests.swift",
        "Unit/Models/SDKTests.swift",
        "Unit/Models/SystemVersionTests.swift",
        "Unit/Services/BeamsTokenProviderTests.swift",
        "Unit/Services/DeviceStateStoreTests.swift",
        "Unit/Services/DeviceTests.swift",
        "Unit/Services/EventTypeHandlerTests.swift",
        "Unit/Services/InstanceDeviceStateStoreTests.swift",
        "Unit/Services/InterestPersistableTests.swift",
        "Unit/Services/ServerSyncJobStoreTests.swift",
        "Unit/Services/ServerSyncProcessHandlerTests.swift",
        "Unit/Services/UserPersistableTests.swift"
      ],
      "target_dependencies" : [
        "PushNotifications"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PushNotifications",
      "module_type" : "SwiftTarget",
      "name" : "PushNotifications",
      "path" : "Sources",
      "product_memberships" : [
        "PushNotifications"
      ],
      "sources" : [
        "Extensions/Array+CalculateMD5Hash.swift",
        "Extensions/Encodable+Encode.swift",
        "Extensions/String+HexStringToData.swift",
        "Extensions/URL+NetworkService.swift",
        "Helpers/DeviceTokenHelper.swift",
        "Helpers/MD5.swift",
        "Models/AuthData.swift",
        "Models/Constants.swift",
        "Models/Device.swift",
        "Models/FeatureFlags.swift",
        "Models/HTTPMethod.swift",
        "Models/InstanceId.swift",
        "Models/InterestValidationError.swift",
        "Models/Interests.swift",
        "Models/Metadata.swift",
        "Models/MultipleInvalidInterestsError.swift",
        "Models/PersistenceConstants.swift",
        "Models/PublishId.swift",
        "Models/PushNotificationsAPIError.swift",
        "Models/PushNotificationsError.swift",
        "Models/PusherAlreadyRegisteredError.swift",
        "Models/Reason.swift",
        "Models/Register.swift",
        "Models/RemoteNotificationType.swift",
        "Models/SDK.swift",
        "Models/ServerSyncEvent.swift",
        "Models/ServerSyncJob.swift",
        "Models/SystemVersion.swift",
        "Models/Token.swift",
        "Protocols/PropertyListReadable.swift",
        "Protocols/PushNotificationsNetworkable.swift",
        "Protocols/ReportEventType.swift",
        "Protocols/RetryStrategy.swift",
        "Protocols/TokenProvider.swift",
        "PushNotifications.swift",
        "PushNotificationsStatic.swift",
        "Services/BeamsTokenProvider.swift",
        "Services/DeviceStateStore.swift",
        "Services/EventTypeHandler.swift",
        "Services/NetworkService.swift",
        "Services/ServerSyncEventHandler.swift",
        "Services/ServerSyncJobStore.swift",
        "Services/ServerSyncProcessHandler.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.