The Swift Package Index logo.Swift Package Index

Track the adoption of Swift 6 strict concurrency checks for data race safety. How many packages are Ready for Swift 6?

Build Information

Successful build of PusherSwift, reference master (886341), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 11:50:05 UTC.

Swift 6 data race errors: 2

Build Command

env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete

Build Log

========================================
RunAll
========================================
Builder version: 4.56.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/pusher/pusher-websocket-swift.git
Reference: master
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pusher/pusher-websocket-swift
 * branch            master     -> FETCH_HEAD
 * [new branch]      master     -> origin/master
HEAD is now at 886341f Use organization level CocoaPods token (#423)
Cloned https://github.com/pusher/pusher-websocket-swift.git
Revision (git rev-parse @):
886341f9dad453c9822f2525136ee2006a6c3c9e
SUCCESS checkout https://github.com/pusher/pusher-websocket-swift.git at master
Fetching https://github.com/pusher/NWWebSocket.git
Fetching https://github.com/bitmark-inc/tweetnacl-swiftwrap
[1/404] Fetching tweetnacl-swiftwrap
[86/1015] Fetching tweetnacl-swiftwrap, nwwebsocket
Fetched https://github.com/pusher/NWWebSocket.git from cache (1.14s)
Fetched https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache (1.14s)
Computing version for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Computed https://github.com/bitmark-inc/tweetnacl-swiftwrap at 1.0.2 (2.68s)
Computing version for https://github.com/pusher/NWWebSocket.git
Computed https://github.com/pusher/NWWebSocket.git at 0.5.4 (0.64s)
Creating working copy for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Working copy of https://github.com/bitmark-inc/tweetnacl-swiftwrap resolved at 1.0.2
Creating working copy for https://github.com/pusher/NWWebSocket.git
Working copy of https://github.com/pusher/NWWebSocket.git resolved at 0.5.4
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
  "identity": ".resolve-product-dependencies",
  "name": "resolve-dependencies",
  "url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "version": "unspecified",
  "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
  "dependencies": [
    {
      "identity": "pusher-websocket-swift",
      "name": "PusherSwift",
      "url": "https://github.com/pusher/pusher-websocket-swift.git",
      "version": "unspecified",
      "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/pusher-websocket-swift",
      "dependencies": [
        {
          "identity": "nwwebsocket",
          "name": "NWWebSocket",
          "url": "https://github.com/pusher/NWWebSocket.git",
          "version": "0.5.4",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/NWWebSocket",
          "dependencies": [
          ]
        },
        {
          "identity": "tweetnacl-swiftwrap",
          "name": "TweetNacl",
          "url": "https://github.com/bitmark-inc/tweetnacl-swiftwrap",
          "version": "1.1.0",
          "path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/tweetnacl-swiftwrap",
          "dependencies": [
          ]
        }
      ]
    }
  ]
}
Fetching https://github.com/pusher/pusher-websocket-swift.git
[1/9922] Fetching pusher-websocket-swift
Fetched https://github.com/pusher/pusher-websocket-swift.git from cache (1.48s)
Fetching https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache
Fetching https://github.com/pusher/NWWebSocket.git from cache
Fetched https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache (0.48s)
Fetched https://github.com/pusher/NWWebSocket.git from cache (0.48s)
Computing version for https://github.com/pusher/NWWebSocket.git
Computed https://github.com/pusher/NWWebSocket.git at 0.5.4 (0.02s)
Computing version for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Computed https://github.com/bitmark-inc/tweetnacl-swiftwrap at 1.1.0 (0.02s)
Creating working copy for https://github.com/pusher/NWWebSocket.git
Working copy of https://github.com/pusher/NWWebSocket.git resolved at 0.5.4
Creating working copy for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Working copy of https://github.com/bitmark-inc/tweetnacl-swiftwrap resolved at 1.1.0
Creating working copy for https://github.com/pusher/pusher-websocket-swift.git
Working copy of https://github.com/pusher/pusher-websocket-swift.git resolved at master (886341f)
warning: '.resolve-product-dependencies': dependency 'pusher-websocket-swift' is not used by any target
Found 2 product dependencies
  - NWWebSocket
  - TweetNacl
========================================
Build
========================================
Selected platform:         macosSpm
Swift version:             6.0
Building package at path:  $PWD
https://github.com/pusher/pusher-websocket-swift.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete
Building for debugging...
[0/5] Write sources
[3/5] Write swift-version--7754E27361AE5C74.txt
[4/5] Compiling CTweetNacl ctweetnacl.c
[6/12] Emitting module NWWebSocket
[7/12] Compiling TweetNacl Constant.swift
[8/12] Emitting module TweetNacl
[9/12] Compiling TweetNacl TweetNacl.swift
[10/12] Compiling NWWebSocket WebSocketConnection.swift
[11/12] Compiling NWWebSocket NWConnection+Extension.swift
[12/12] Compiling NWWebSocket NWWebSocket.swift
[13/52] Compiling PusherSwift PusherPresenceChannelMember.swift
[14/52] Compiling PusherSwift QueuedClientEvent.swift
[15/52] Compiling PusherSwift AuthMethod+ObjectiveC.swift
[16/52] Compiling PusherSwift OCAuthMethod.swift
[17/56] Compiling PusherSwift Logger.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Models/ConnectionState.swift:10:16: warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | @objc public enum ConnectionState: Int {
   |                   `- note: consider making enum 'ConnectionState' conform to the 'Sendable' protocol
 4 |     case connecting
 5 |     case connected
   :
 8 |     case reconnecting
 9 |
10 |     static let connectionStates = [
   |                |- warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'connectionStates' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |         connecting: "connecting",
12 |         connected: "connected",
[18/56] Compiling PusherSwift AuthError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Models/ConnectionState.swift:10:16: warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | @objc public enum ConnectionState: Int {
   |                   `- note: consider making enum 'ConnectionState' conform to the 'Sendable' protocol
 4 |     case connecting
 5 |     case connected
   :
 8 |     case reconnecting
 9 |
10 |     static let connectionStates = [
   |                |- warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'connectionStates' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |         connecting: "connecting",
12 |         connected: "connected",
[19/56] Compiling PusherSwift AuthMethod.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Models/ConnectionState.swift:10:16: warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | @objc public enum ConnectionState: Int {
   |                   `- note: consider making enum 'ConnectionState' conform to the 'Sendable' protocol
 4 |     case connecting
 5 |     case connected
   :
 8 |     case reconnecting
 9 |
10 |     static let connectionStates = [
   |                |- warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'connectionStates' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |         connecting: "connecting",
12 |         connected: "connected",
[20/56] Compiling PusherSwift ChannelsProtocolCloseCode.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Models/ConnectionState.swift:10:16: warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | @objc public enum ConnectionState: Int {
   |                   `- note: consider making enum 'ConnectionState' conform to the 'Sendable' protocol
 4 |     case connecting
 5 |     case connected
   :
 8 |     case reconnecting
 9 |
10 |     static let connectionStates = [
   |                |- warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'connectionStates' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |         connecting: "connecting",
12 |         connected: "connected",
[21/56] Compiling PusherSwift ConnectionState.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Models/ConnectionState.swift:10:16: warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | @objc public enum ConnectionState: Int {
   |                   `- note: consider making enum 'ConnectionState' conform to the 'Sendable' protocol
 4 |     case connecting
 5 |     case connected
   :
 8 |     case reconnecting
 9 |
10 |     static let connectionStates = [
   |                |- warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'connectionStates' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |         connecting: "connecting",
12 |         connected: "connected",
[22/56] Compiling PusherSwift PusherChannelType.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:52: warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | @objc open class PusherChannels: NSObject {
    |                  `- note: class 'PusherChannels' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user subscribes/unsubscribes to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                    `- warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:76: warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                                            `- warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
[23/56] Compiling PusherSwift PusherChannels.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:52: warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | @objc open class PusherChannels: NSObject {
    |                  `- note: class 'PusherChannels' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user subscribes/unsubscribes to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                    `- warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:76: warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                                            `- warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
[24/56] Compiling PusherSwift PusherClientOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:52: warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | @objc open class PusherChannels: NSObject {
    |                  `- note: class 'PusherChannels' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user subscribes/unsubscribes to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                    `- warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:76: warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                                            `- warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
[25/56] Compiling PusherSwift PusherError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:52: warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | @objc open class PusherChannels: NSObject {
    |                  `- note: class 'PusherChannels' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user subscribes/unsubscribes to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                    `- warning: capture of 'self' with non-sendable type 'PusherChannels' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannels.swift:15:76: warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             channelsQueue.async(flags: .barrier) { self.channelsInternal = newValue }
    |                                                                            `- warning: capture of 'newValue' with non-sendable type '[String : PusherChannel]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
[26/56] Compiling PusherSwift PusherError+ObjectiveC.swift
[27/56] Compiling PusherSwift PusherHost+ObjectiveC.swift
[28/56] Compiling PusherSwift AuthRequestBuilderProtocol.swift
[29/56] Compiling PusherSwift Authorizer.swift
[30/56] Compiling PusherSwift OCPusherHost.swift
[31/56] Compiling PusherSwift Pusher+ObjectiveC.swift
[32/56] Compiling PusherSwift PusherClientOptions+ObjectiveC.swift
[33/56] Compiling PusherSwift PusherConnection+ObjectiveC.swift
[34/56] Compiling PusherSwift Constants.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:86: warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                                                      `- warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/EventHandler.swift:3:15: note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct EventHandler {
  |               `- note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
4 |     let id: String
5 |     let callback: (PusherEvent) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:41:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 39 |         }
 40 |         set {
 41 |             decryptionKeyQueue.async(flags: .barrier) { self.decryptionKeyInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |         }
 43 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[35/56] Compiling PusherSwift EventError.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:86: warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                                                      `- warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/EventHandler.swift:3:15: note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct EventHandler {
  |               `- note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
4 |     let id: String
5 |     let callback: (PusherEvent) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:41:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 39 |         }
 40 |         set {
 41 |             decryptionKeyQueue.async(flags: .barrier) { self.decryptionKeyInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |         }
 43 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[36/56] Compiling PusherSwift EventHandler.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:86: warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                                                      `- warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/EventHandler.swift:3:15: note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct EventHandler {
  |               `- note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
4 |     let id: String
5 |     let callback: (PusherEvent) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:41:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 39 |         }
 40 |         set {
 41 |             decryptionKeyQueue.async(flags: .barrier) { self.decryptionKeyInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |         }
 43 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[37/56] Compiling PusherSwift PusherAuth.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:86: warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                                                      `- warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/EventHandler.swift:3:15: note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct EventHandler {
  |               `- note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
4 |     let id: String
5 |     let callback: (PusherEvent) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:41:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 39 |         }
 40 |         set {
 41 |             decryptionKeyQueue.async(flags: .barrier) { self.decryptionKeyInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |         }
 43 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[38/56] Compiling PusherSwift PusherChannel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:15:86: warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 13 |         }
 14 |         set {
 15 |             eventHandlersQueue.async(flags: .barrier) { self.eventHandlersInternal = newValue }
    |                                                                                      `- warning: capture of 'newValue' with non-sendable type '[String : [EventHandler]]' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 16 |         }
 17 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/EventHandler.swift:3:15: note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
1 | import Foundation
2 |
3 | public struct EventHandler {
  |               `- note: consider making struct 'EventHandler' conform to the 'Sendable' protocol
4 |     let id: String
5 |     let callback: (PusherEvent) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:41:57: warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
    :
 39 |         }
 40 |         set {
 41 |             decryptionKeyQueue.async(flags: .barrier) { self.decryptionKeyInternal = newValue }
    |                                                         `- warning: capture of 'self' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 42 |         }
 43 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[39/56] Compiling PusherSwift PusherEvent.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[40/56] Compiling PusherSwift PusherGlobalChannel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[41/56] Compiling PusherSwift PusherHost.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[42/56] Compiling PusherSwift PusherPresenceChannel.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[43/56] Emitting module PusherSwift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Models/ConnectionState.swift:10:16: warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | @objc public enum ConnectionState: Int {
   |                   `- note: consider making enum 'ConnectionState' conform to the 'Sendable' protocol
 4 |     case connecting
 5 |     case connected
   :
 8 |     case reconnecting
 9 |
10 |     static let connectionStates = [
   |                |- warning: static property 'connectionStates' is not concurrency-safe because non-'Sendable' type '[ConnectionState : String]' may have shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: annotate 'connectionStates' with '@MainActor' if property should only be accessed from the main actor
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
11 |         connecting: "connecting",
12 |         connected: "connected",
[44/56] Compiling PusherSwift EventFactory.swift
[45/56] Compiling PusherSwift EventQueue.swift
[46/56] Compiling PusherSwift EventQueueDelegate.swift
[47/56] Compiling PusherSwift PusherDelegate.swift
[48/56] Compiling PusherSwift PusherChannel+EncryptionHelpers.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[49/56] Compiling PusherSwift PusherConnection+WebsocketDelegate.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[50/56] Compiling PusherSwift URL+Pusher.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[51/56] Compiling PusherSwift Crypto.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[52/56] Compiling PusherSwift EventParser.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
[53/56] Compiling PusherSwift PusherSwift.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:13: warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | class ChannelEventQueue: EventQueue {
   |       `- note: class 'ChannelEventQueue' does not conform to the 'Sendable' protocol
 4 |
 5 |     // MARK: - Properties
   :
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |             `- warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:48: warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                `- warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:837:61: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 835 |         let task = URLSession.dataTask(with: request, completionHandler: { data, response, sessionError in
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
     |                                                             `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
 839 |                                                  message: message,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:838:17: warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
     |                 |- warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 839 |                                                  message: message,
 840 |                                                  response: response,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:1001:21: warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
1000 |                     error == nil {
1001 |                     channel.decryptionKey = decryptionKey
     |                     `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
1002 |                 } else {
1003 |                     channel.decryptionKey = nil
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             |- 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
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                          `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 |- 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
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             |- 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
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error 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
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               |- warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
     |                                                               `- note: task-isolated 'channel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
[54/56] Compiling PusherSwift ChannelEventFactory.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:13: warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | class ChannelEventQueue: EventQueue {
   |       `- note: class 'ChannelEventQueue' does not conform to the 'Sendable' protocol
 4 |
 5 |     // MARK: - Properties
   :
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |             `- warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:48: warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                `- warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:837:61: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 835 |         let task = URLSession.dataTask(with: request, completionHandler: { data, response, sessionError in
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
     |                                                             `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
 839 |                                                  message: message,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:838:17: warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
     |                 |- warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 839 |                                                  message: message,
 840 |                                                  response: response,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:1001:21: warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
1000 |                     error == nil {
1001 |                     channel.decryptionKey = decryptionKey
     |                     `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
1002 |                 } else {
1003 |                     channel.decryptionKey = nil
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             |- 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
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                          `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 |- 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
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             |- 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
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error 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
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               |- warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
     |                                                               `- note: task-isolated 'channel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
[55/56] Compiling PusherSwift ChannelEventQueue.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:13: warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | class ChannelEventQueue: EventQueue {
   |       `- note: class 'ChannelEventQueue' does not conform to the 'Sendable' protocol
 4 |
 5 |     // MARK: - Properties
   :
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |             `- warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:48: warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                `- warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:837:61: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 835 |         let task = URLSession.dataTask(with: request, completionHandler: { data, response, sessionError in
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
     |                                                             `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
 839 |                                                  message: message,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:838:17: warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
     |                 |- warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 839 |                                                  message: message,
 840 |                                                  response: response,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:1001:21: warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
1000 |                     error == nil {
1001 |                     channel.decryptionKey = decryptionKey
     |                     `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
1002 |                 } else {
1003 |                     channel.decryptionKey = nil
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             |- 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
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                          `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 |- 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
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             |- 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
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error 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
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               |- warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
     |                                                               `- note: task-isolated 'channel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
[56/56] Compiling PusherSwift PusherConnection.swift
/Users/admin/builder/spi-builder-workspace/Sources/Helpers/Logger.swift:71:16: warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
  2 |
  3 | /// Used for logging events for informational purposes
  4 | class Logger {
    |       `- note: class 'Logger' does not conform to the 'Sendable' protocol
  5 |
  6 |     // MARK: - Enum definitions
    :
 69 |     }
 70 |
 71 |     static let shared = Logger()
    |                |- warning: static property 'shared' is not concurrency-safe because non-'Sendable' type 'Logger' may have shared mutable state; this is an error in the Swift 6 language mode
    |                |- note: annotate 'shared' with '@MainActor' if property should only be accessed from the main actor
    |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
 72 |
 73 |     weak var delegate: PusherDelegate?
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:13: warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 1 | import Foundation
 2 |
 3 | class ChannelEventQueue: EventQueue {
   |       `- note: class 'ChannelEventQueue' does not conform to the 'Sendable' protocol
 4 |
 5 |     // MARK: - Properties
   :
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |             `- warning: capture of 'self' with non-sendable type 'ChannelEventQueue' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:48: warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                `- warning: capture of 'json' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel?' in a `@Sendable` closure; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/ChannelEventQueue.swift:34:63: warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
32 |
33 |         queue.async {
34 |             self.processEventWithRetries(json: json, channel: channel)
   |                                                               `- warning: reference to captured var 'channel' in concurrently-executing code; this is an error in the Swift 6 language mode
35 |         }
36 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:837:61: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 835 |         let task = URLSession.dataTask(with: request, completionHandler: { data, response, sessionError in
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
     |                                                             `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
 839 |                                                  message: message,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:838:17: warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 836 |             if let error = sessionError {
 837 |                 let message = "Error authorizing channel [\(channel.name)]: \(error)"
 838 |                 completionHandler(nil, AuthError(kind: .requestFailure,
     |                 |- warning: capture of 'completionHandler' with non-sendable type '(PusherAuth?, AuthError?) -> Void' in a `@Sendable` closure; this is an error in the Swift 6 language mode
     |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
 839 |                                                  message: message,
 840 |                                                  response: response,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                `- warning: capture of 'payload' with non-sendable type 'ChannelEventPayload' (aka 'Dictionary<String, Any>') in a `@Sendable` closure; this is an error in the Swift 6 language mode
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     `- warning: capture of 'event' with non-sendable type 'PusherEvent' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherEvent.swift:4:12: note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 2 |
 3 | @objcMembers
 4 | open class PusherEvent: NSObject, NSCopying {
   |            `- note: class 'PusherEvent' does not conform to the 'Sendable' protocol
 5 |
 6 |     /// The JSON object received from the websocket
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
   5 |
   6 | @objcMembers
   7 | @objc open class PusherConnection: NSObject {
     |                  `- note: class 'PusherConnection' does not conform to the 'Sendable' protocol
   8 |     public let url: String
   9 |     public let key: String
     :
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                 `- warning: capture of 'self' with non-sendable type 'PusherConnection' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in a `@Sendable` closure; this is an error in the Swift 6 language mode
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:1001:21: warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
1000 |                     error == nil {
1001 |                     channel.decryptionKey = decryptionKey
     |                     `- warning: capture of 'channel' with non-sendable type 'PusherChannel' in an isolated closure; this is an error in the Swift 6 language mode
1002 |                 } else {
1003 |                     channel.decryptionKey = nil
/Users/admin/builder/spi-builder-workspace/Sources/Models/PusherChannel.swift:4:12: note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  2 |
  3 | @objcMembers
  4 | open class PusherChannel: NSObject {
    |            `- note: class 'PusherChannel' does not conform to the 'Sendable' protocol
  5 |     // Access via queue for thread safety if user binds/unbinds events to a channel off the main queue
  6 |     // (Concurrent reads are allowed. Writes using `.barrier` so queue waits for completion before continuing)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |             |- 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
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:607:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 605 |         DispatchQueue.main.async {
 606 |             // TODO: Consider removing in favour of exclusively using delegate
 607 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 608 |         }
 609 |
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:960:42: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 958 |         DispatchQueue.main.async {
 959 |             Logger.shared.debug(for: .unableToHandleIncomingMessage,
 960 |                                 context: payload)
     |                                          |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                          `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 961 |         }
 962 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:968:32: warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
 966 |                     forChannelName channelName: String) {
 967 |         DispatchQueue.main.async {
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
     |                                |- warning: sending 'payload' risks causing data races; this is an error in the Swift 6 language mode
     |                                `- note: task-isolated 'payload' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:970:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 968 |             if let eventName = payload[Constants.JSONKeys.event] as? String {
 969 |                 let data = payload[Constants.JSONKeys.data] as? String
 970 |                 self.delegate?.failedToDecryptEvent?(eventName: eventName, channelName: channelName, data: data)
     |                 |- 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
 971 |             }
 972 |             Logger.shared.debug(for: .skippedEventAfterDecryptionFailure,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:13: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |             |- 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
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:981:37: warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
 979 |                     forChannelName channelName: String?) {
 980 |         DispatchQueue.main.async {
 981 |             self.handleEvent(event: event)
     |                                     |- warning: sending 'event' risks causing data races; this is an error in the Swift 6 language mode
     |                                     `- note: task-isolated 'event' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 982 |         }
 983 |     }
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:17: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error 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
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
/Users/admin/builder/spi-builder-workspace/Sources/Services/PusherConnection.swift:997:63: warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
 995 |         // Schedule the loading of the key on the main thread
 996 |         DispatchQueue.main.async {
 997 |             _ = self.requestPusherAuthFromAuthMethod(channel: channel) { pusherAuth, error in
     |                                                               |- warning: sending 'channel' risks causing data races; this is an error in the Swift 6 language mode
     |                                                               `- note: task-isolated 'channel' is captured by a main actor-isolated closure. main actor-isolated uses in closure may race against later nonisolated uses
 998 |                 if let pusherAuth = pusherAuth,
 999 |                     let decryptionKey = pusherAuth.sharedSecret,
Build complete! (10.27s)
Build complete.
{
  "dependencies" : [
    {
      "identity" : "nwwebsocket",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "0.5.4",
            "upper_bound" : "1.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/pusher/NWWebSocket.git"
    },
    {
      "identity" : "tweetnacl-swiftwrap",
      "requirement" : {
        "range" : [
          {
            "lower_bound" : "1.0.0",
            "upper_bound" : "2.0.0"
          }
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/bitmark-inc/tweetnacl-swiftwrap"
    }
  ],
  "manifest_display_name" : "PusherSwift",
  "name" : "PusherSwift",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
    {
      "name" : "ios",
      "version" : "13.0"
    },
    {
      "name" : "macos",
      "version" : "10.15"
    },
    {
      "name" : "tvos",
      "version" : "13.0"
    }
  ],
  "products" : [
    {
      "name" : "PusherSwift",
      "targets" : [
        "PusherSwift"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "swift_languages_versions" : [
    "5"
  ],
  "targets" : [
    {
      "c99name" : "PusherSwiftTests",
      "module_type" : "SwiftTarget",
      "name" : "PusherSwiftTests",
      "path" : "Tests",
      "sources" : [
        "Extensions/String+Extensions.swift",
        "Extensions/XCTest+Assertions.swift",
        "Helpers/Helpers.swift",
        "Helpers/Mocks.swift",
        "Helpers/TestObjects.swift",
        "Integration/AuthenticationTests.swift",
        "Integration/PusherClientInitializationTests.swift",
        "Integration/PusherIncomingEventHandlingTests.swift",
        "Integration/PusherTopLevelAPITests.swift",
        "Unit/Helpers/ChannelEventFactory+DecryptionTests.swift",
        "Unit/Helpers/ChannelEventFactoryTests.swift",
        "Unit/Helpers/CryptoTests.swift",
        "Unit/Models/ClientEventTests.swift",
        "Unit/Models/PresenceChannelTests.swift",
        "Unit/Models/PrivateEncryptedChannelTests.swift",
        "Unit/Models/PusherChannelTests.swift",
        "Unit/Protocols/PusherConnectionDelegateTests.swift",
        "Unit/Services/ChannelEventQueue+DecryptionTests.swift",
        "Unit/Services/ChannelEventQueueTests.swift",
        "Unit/Services/PusherConnectionTests.swift"
      ],
      "target_dependencies" : [
        "PusherSwift"
      ],
      "type" : "test"
    },
    {
      "c99name" : "PusherSwift",
      "module_type" : "SwiftTarget",
      "name" : "PusherSwift",
      "path" : "Sources",
      "product_dependencies" : [
        "NWWebSocket",
        "TweetNacl"
      ],
      "product_memberships" : [
        "PusherSwift"
      ],
      "sources" : [
        "Extensions/PusherChannel+EncryptionHelpers.swift",
        "Extensions/PusherConnection+WebsocketDelegate.swift",
        "Extensions/URL+Pusher.swift",
        "Helpers/Crypto.swift",
        "Helpers/EventParser.swift",
        "Helpers/Logger.swift",
        "Models/AuthError.swift",
        "Models/AuthMethod.swift",
        "Models/ChannelsProtocolCloseCode.swift",
        "Models/ConnectionState.swift",
        "Models/Constants.swift",
        "Models/EventError.swift",
        "Models/EventHandler.swift",
        "Models/PusherAuth.swift",
        "Models/PusherChannel.swift",
        "Models/PusherChannelType.swift",
        "Models/PusherChannels.swift",
        "Models/PusherClientOptions.swift",
        "Models/PusherError.swift",
        "Models/PusherEvent.swift",
        "Models/PusherGlobalChannel.swift",
        "Models/PusherHost.swift",
        "Models/PusherPresenceChannel.swift",
        "Models/PusherPresenceChannelMember.swift",
        "Models/QueuedClientEvent.swift",
        "ObjC/AuthMethod+ObjectiveC.swift",
        "ObjC/OCAuthMethod.swift",
        "ObjC/OCPusherHost.swift",
        "ObjC/Pusher+ObjectiveC.swift",
        "ObjC/PusherClientOptions+ObjectiveC.swift",
        "ObjC/PusherConnection+ObjectiveC.swift",
        "ObjC/PusherError+ObjectiveC.swift",
        "ObjC/PusherHost+ObjectiveC.swift",
        "Protocols/AuthRequestBuilderProtocol.swift",
        "Protocols/Authorizer.swift",
        "Protocols/EventFactory.swift",
        "Protocols/EventQueue.swift",
        "Protocols/EventQueueDelegate.swift",
        "Protocols/PusherDelegate.swift",
        "PusherSwift.swift",
        "Services/ChannelEventFactory.swift",
        "Services/ChannelEventQueue.swift",
        "Services/PusherConnection.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.0"
}
Done.