Build Information
Successful build of PusherSwift, reference 10.1.5 (886341
), with Swift 6.0 for macOS (SPM) on 4 Nov 2024 11:49:55 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: 10.1.5
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/pusher/pusher-websocket-swift
* tag 10.1.5 -> FETCH_HEAD
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 10.1.5
Fetching https://github.com/bitmark-inc/tweetnacl-swiftwrap
Fetching https://github.com/pusher/NWWebSocket.git
[1/404] Fetching tweetnacl-swiftwrap
[18/1015] Fetching tweetnacl-swiftwrap, nwwebsocket
Fetched https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache (1.19s)
Fetched https://github.com/pusher/NWWebSocket.git from cache (1.19s)
Computing version for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Computed https://github.com/bitmark-inc/tweetnacl-swiftwrap at 1.0.2 (2.49s)
Computing version for https://github.com/pusher/NWWebSocket.git
Computed https://github.com/pusher/NWWebSocket.git at 0.5.4 (0.65s)
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.45s)
Fetching https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache
Fetching https://github.com/pusher/NWWebSocket.git from cache
Fetched https://github.com/pusher/NWWebSocket.git from cache (0.50s)
Fetched https://github.com/bitmark-inc/tweetnacl-swiftwrap from cache (0.50s)
Computing version for https://github.com/pusher/NWWebSocket.git
Computed https://github.com/pusher/NWWebSocket.git at 0.5.4 (0.03s)
Computing version for https://github.com/bitmark-inc/tweetnacl-swiftwrap
Computed https://github.com/bitmark-inc/tweetnacl-swiftwrap at 1.1.0 (0.03s)
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/NWWebSocket.git
Working copy of https://github.com/pusher/NWWebSocket.git resolved at 0.5.4
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 10.1.5 (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] Compiling TweetNacl Constant.swift
[7/12] Compiling TweetNacl TweetNacl.swift
[8/12] Emitting module TweetNacl
[9/12] Compiling NWWebSocket WebSocketConnection.swift
[10/12] Compiling NWWebSocket NWConnection+Extension.swift
[11/12] Compiling NWWebSocket NWWebSocket.swift
[12/12] Emitting module NWWebSocket
[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 EventFactory.swift
[27/56] Compiling PusherSwift EventQueue.swift
[28/56] Compiling PusherSwift EventQueueDelegate.swift
[29/56] Compiling PusherSwift PusherDelegate.swift
[30/56] Compiling PusherSwift PusherError+ObjectiveC.swift
[31/56] Compiling PusherSwift PusherHost+ObjectiveC.swift
[32/56] Compiling PusherSwift AuthRequestBuilderProtocol.swift
[33/56] Compiling PusherSwift Authorizer.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 OCPusherHost.swift
[40/56] Compiling PusherSwift Pusher+ObjectiveC.swift
[41/56] Compiling PusherSwift PusherClientOptions+ObjectiveC.swift
[42/56] Compiling PusherSwift PusherConnection+ObjectiveC.swift
[43/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?
[44/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?
[45/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?
[46/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?
[47/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",
[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.38s)
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.