The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of AppSyncRealTimeClient, reference 3.2.0 (9fd77b), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 17:19:54 UTC.

Swift 6 data race errors: 5

Build Command

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

Build Log

15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[54/76] Compiling AppSyncRealTimeClient AppSyncWebsocketProvider.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[55/76] Compiling AppSyncRealTimeClient StarscreamAdapter+Delegate.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[56/76] Compiling AppSyncRealTimeClient StarscreamAdapter.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[57/76] Compiling AppSyncRealTimeClient AppSyncJSONHelper.swift
[58/76] Compiling AppSyncRealTimeClient AppSyncJSONValue.swift
[59/76] Compiling AppSyncRealTimeClient AppSyncLogger.swift
[60/76] Compiling AppSyncRealTimeClient AppSyncURLHelper.swift
[61/76] Compiling AppSyncRealTimeClient AtomicValue.swift
[62/76] Compiling AppSyncRealTimeClient ConnectivityPath.swift
[63/76] Compiling AppSyncRealTimeClient APIKeyAuthInterceptor.swift
[64/76] Compiling AppSyncRealTimeClient OIDCAuthInterceptor.swift
[65/76] Compiling AppSyncRealTimeClient OIDCAuthInterceptorAsync.swift
[66/76] Compiling AppSyncRealTimeClient RealtimeGatewayURLInterceptor.swift
[67/76] Compiling AppSyncRealTimeClient RealtimeConnectionProvider+Websocket.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:22:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 20 |     public func websocketDidDisconnect(provider: AppSyncWebsocketProvider, error: Error?) {
 21 |         connectionQueue.async { [weak self] in
 22 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 23 |                 return
 24 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:53: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                                                     `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:105:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
103 |     public func connect() {
104 |         connectionQueue.async { [weak self] in
105 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
106 |                 return
107 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:129:21: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
127 |
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
    |                     `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
130 |                         urlRequest: urlRequest,
131 |                         protocols: ["graphql-ws"],
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:130:37: warning: reference to captured var 'urlRequest' in concurrently-executing code
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
130 |                         urlRequest: urlRequest,
    |                                     `- warning: reference to captured var 'urlRequest' in concurrently-executing code
131 |                         protocols: ["graphql-ws"],
132 |                         delegate: self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:142:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
140 |
141 |         connectionQueue.async { [weak self] in
142 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
143 |                 return
144 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:152:35: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
150 |                 return
151 |             }
152 |             self.interceptMessage(message, for: url) { signedMessage in
    |                                   `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
153 |                 let jsonEncoder = JSONEncoder()
154 |                 do {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:157:75: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
155 |                     let jsonData = try jsonEncoder.encode(signedMessage)
156 |                     guard let jsonString = String(data: jsonData, encoding: .utf8) else {
157 |                         let jsonError = ConnectionProviderError.jsonParse(message.id, nil)
    |                                                                           `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
158 |                         self.updateCallback(event: .error(jsonError))
159 |                         return
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:179:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
177 |     public func disconnect() {
178 |         connectionQueue.async {
179 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
180 |             self.invalidateStaleConnectionTimer()
181 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:192:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
190 |     public func removeListener(identifier: String) {
191 |         connectionQueue.async { [weak self] in
192 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
193 |                 return
194 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:221:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
219 |     func updateCallback(event: ConnectionProviderEvent) {
220 |         connectionQueue.async { [weak self] in
221 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
222 |                 return
223 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                 |- warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
[68/76] Compiling AppSyncRealTimeClient RealtimeConnectionProvider.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:22:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 20 |     public func websocketDidDisconnect(provider: AppSyncWebsocketProvider, error: Error?) {
 21 |         connectionQueue.async { [weak self] in
 22 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 23 |                 return
 24 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:53: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                                                     `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:105:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
103 |     public func connect() {
104 |         connectionQueue.async { [weak self] in
105 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
106 |                 return
107 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:129:21: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
127 |
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
    |                     `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
130 |                         urlRequest: urlRequest,
131 |                         protocols: ["graphql-ws"],
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:130:37: warning: reference to captured var 'urlRequest' in concurrently-executing code
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
130 |                         urlRequest: urlRequest,
    |                                     `- warning: reference to captured var 'urlRequest' in concurrently-executing code
131 |                         protocols: ["graphql-ws"],
132 |                         delegate: self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:142:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
140 |
141 |         connectionQueue.async { [weak self] in
142 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
143 |                 return
144 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:152:35: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
150 |                 return
151 |             }
152 |             self.interceptMessage(message, for: url) { signedMessage in
    |                                   `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
153 |                 let jsonEncoder = JSONEncoder()
154 |                 do {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:157:75: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
155 |                     let jsonData = try jsonEncoder.encode(signedMessage)
156 |                     guard let jsonString = String(data: jsonData, encoding: .utf8) else {
157 |                         let jsonError = ConnectionProviderError.jsonParse(message.id, nil)
    |                                                                           `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
158 |                         self.updateCallback(event: .error(jsonError))
159 |                         return
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:179:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
177 |     public func disconnect() {
178 |         connectionQueue.async {
179 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
180 |             self.invalidateStaleConnectionTimer()
181 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:192:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
190 |     public func removeListener(identifier: String) {
191 |         connectionQueue.async { [weak self] in
192 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
193 |                 return
194 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:221:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
219 |     func updateCallback(event: ConnectionProviderEvent) {
220 |         connectionQueue.async { [weak self] in
221 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
222 |                 return
223 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                 |- warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
[69/76] Compiling AppSyncRealTimeClient RealtimeConnectionProviderResponse.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:22:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 20 |     public func websocketDidDisconnect(provider: AppSyncWebsocketProvider, error: Error?) {
 21 |         connectionQueue.async { [weak self] in
 22 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 23 |                 return
 24 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:53: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                                                     `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:105:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
103 |     public func connect() {
104 |         connectionQueue.async { [weak self] in
105 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
106 |                 return
107 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:129:21: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
127 |
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
    |                     `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
130 |                         urlRequest: urlRequest,
131 |                         protocols: ["graphql-ws"],
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:130:37: warning: reference to captured var 'urlRequest' in concurrently-executing code
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
130 |                         urlRequest: urlRequest,
    |                                     `- warning: reference to captured var 'urlRequest' in concurrently-executing code
131 |                         protocols: ["graphql-ws"],
132 |                         delegate: self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:142:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
140 |
141 |         connectionQueue.async { [weak self] in
142 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
143 |                 return
144 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:152:35: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
150 |                 return
151 |             }
152 |             self.interceptMessage(message, for: url) { signedMessage in
    |                                   `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
153 |                 let jsonEncoder = JSONEncoder()
154 |                 do {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:157:75: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
155 |                     let jsonData = try jsonEncoder.encode(signedMessage)
156 |                     guard let jsonString = String(data: jsonData, encoding: .utf8) else {
157 |                         let jsonError = ConnectionProviderError.jsonParse(message.id, nil)
    |                                                                           `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
158 |                         self.updateCallback(event: .error(jsonError))
159 |                         return
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:179:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
177 |     public func disconnect() {
178 |         connectionQueue.async {
179 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
180 |             self.invalidateStaleConnectionTimer()
181 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:192:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
190 |     public func removeListener(identifier: String) {
191 |         connectionQueue.async { [weak self] in
192 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
193 |                 return
194 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:221:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
219 |     func updateCallback(event: ConnectionProviderEvent) {
220 |         connectionQueue.async { [weak self] in
221 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
222 |                 return
223 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                 |- warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
[70/76] Compiling AppSyncRealTimeClient RealtimeConnectionProviderAsync+ConnectionInterceptableAsync.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:22:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 20 |     public func websocketDidDisconnect(provider: AppSyncWebsocketProvider, error: Error?) {
 21 |         connectionQueue.async { [weak self] in
 22 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 23 |                 return
 24 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:53: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                                                     `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:105:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
103 |     public func connect() {
104 |         connectionQueue.async { [weak self] in
105 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
106 |                 return
107 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:129:21: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
127 |
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
    |                     `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
130 |                         urlRequest: urlRequest,
131 |                         protocols: ["graphql-ws"],
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:130:37: warning: reference to captured var 'urlRequest' in concurrently-executing code
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
130 |                         urlRequest: urlRequest,
    |                                     `- warning: reference to captured var 'urlRequest' in concurrently-executing code
131 |                         protocols: ["graphql-ws"],
132 |                         delegate: self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:142:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
140 |
141 |         connectionQueue.async { [weak self] in
142 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
143 |                 return
144 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:152:35: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
150 |                 return
151 |             }
152 |             self.interceptMessage(message, for: url) { signedMessage in
    |                                   `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
153 |                 let jsonEncoder = JSONEncoder()
154 |                 do {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:157:75: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
155 |                     let jsonData = try jsonEncoder.encode(signedMessage)
156 |                     guard let jsonString = String(data: jsonData, encoding: .utf8) else {
157 |                         let jsonError = ConnectionProviderError.jsonParse(message.id, nil)
    |                                                                           `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
158 |                         self.updateCallback(event: .error(jsonError))
159 |                         return
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:179:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
177 |     public func disconnect() {
178 |         connectionQueue.async {
179 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
180 |             self.invalidateStaleConnectionTimer()
181 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:192:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
190 |     public func removeListener(identifier: String) {
191 |         connectionQueue.async { [weak self] in
192 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
193 |                 return
194 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:221:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
219 |     func updateCallback(event: ConnectionProviderEvent) {
220 |         connectionQueue.async { [weak self] in
221 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
222 |                 return
223 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                 |- warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
[71/76] Compiling AppSyncRealTimeClient RealtimeConnectionProviderAsync+MessageInterceptableAsync.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:22:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 20 |     public func websocketDidDisconnect(provider: AppSyncWebsocketProvider, error: Error?) {
 21 |         connectionQueue.async { [weak self] in
 22 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 23 |                 return
 24 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:53:53: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 51 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 52 |             connectionQueue.async { [weak self] in
 53 |                 self?.handleConnectionAck(response: response)
    |                                                     `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 54 |             }
 55 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:58:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 56 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 57 |             connectionQueue.async { [weak self] in
 58 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 59 |             }
 60 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:13:14: note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift:63:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 61 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 62 |             connectionQueue.async { [weak self] in
 63 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure
 64 |             }
 65 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift:12:8: note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 10 | /// More information about the response can be found here
 11 | /// https://docs.aws.amazon.com/appsync/latest/devguide/real-time-websocket-client.html#connection-init-message
 12 | struct RealtimeConnectionProviderResponse {
    |        `- note: consider making struct 'RealtimeConnectionProviderResponse' conform to the 'Sendable' protocol
 13 |
 14 |     /// Subscription Identifier
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:105:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
103 |     public func connect() {
104 |         connectionQueue.async { [weak self] in
105 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
106 |                 return
107 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:129:21: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
127 |
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
    |                     `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
130 |                         urlRequest: urlRequest,
131 |                         protocols: ["graphql-ws"],
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:130:37: warning: reference to captured var 'urlRequest' in concurrently-executing code
128 |                 DispatchQueue.global().async {
129 |                     self.websocket.connect(
130 |                         urlRequest: urlRequest,
    |                                     `- warning: reference to captured var 'urlRequest' in concurrently-executing code
131 |                         protocols: ["graphql-ws"],
132 |                         delegate: self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:142:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
140 |
141 |         connectionQueue.async { [weak self] in
142 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
143 |                 return
144 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:152:35: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
150 |                 return
151 |             }
152 |             self.interceptMessage(message, for: url) { signedMessage in
    |                                   `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure
153 |                 let jsonEncoder = JSONEncoder()
154 |                 do {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:157:75: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
155 |                     let jsonData = try jsonEncoder.encode(signedMessage)
156 |                     guard let jsonString = String(data: jsonData, encoding: .utf8) else {
157 |                         let jsonError = ConnectionProviderError.jsonParse(message.id, nil)
    |                                                                           `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in an isolated closure; this is an error in the Swift 6 language mode
158 |                         self.updateCallback(event: .error(jsonError))
159 |                         return
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppSyncMessage.swift:11:15: note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
 9 |
10 | /// Struct that holds the message to be send to the connection
11 | public struct AppSyncMessage {
   |               `- note: consider making struct 'AppSyncMessage' conform to the 'Sendable' protocol
12 |
13 |     /// Identifier for the message.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:179:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
177 |     public func disconnect() {
178 |         connectionQueue.async {
179 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider' in a '@Sendable' closure
180 |             self.invalidateStaleConnectionTimer()
181 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:186:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
184 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
185 |         connectionQueue.async { [weak self] in
186 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
187 |         }
188 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:192:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
190 |     public func removeListener(identifier: String) {
191 |         connectionQueue.async { [weak self] in
192 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
193 |                 return
194 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:221:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
 11 | /// Appsync Real time connection that connects to subscriptions
 12 | /// through websocket.
 13 | public class RealtimeConnectionProvider: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProvider' does not conform to the 'Sendable' protocol
 14 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 15 |     /// message before we consider it stale and force a disconnect
    :
219 |     func updateCallback(event: ConnectionProviderEvent) {
220 |         connectionQueue.async { [weak self] in
221 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProvider?' in a '@Sendable' closure
222 |                 return
223 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                 |- warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
    |                 `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift:226:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
224 |             let allListeners = Array(self.listeners.values)
225 |             self.serialCallbackQueue.async {
226 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
227 |             }
228 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProvider.swift:25:13: note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
23 | public typealias ConnectionProviderCallback = (ConnectionProviderEvent) -> Void
24 |
25 | public enum ConnectionProviderEvent {
   |             `- note: consider making enum 'ConnectionProviderEvent' conform to the 'Sendable' protocol
26 |
27 |     case connection(ConnectionState)
[72/76] Compiling AppSyncRealTimeClient ConnectionProviderFactory.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:17:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
15 |         completion: @escaping (AppSyncConnectionRequest) -> Void
16 |     ) {
17 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
18 |         completion(result)
19 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:29:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
27 |         completion: @escaping (AppSyncMessage) -> Void
28 |     ) {
29 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
30 |         completion(result)
31 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:41:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
39 |         completion: @escaping (AppSyncConnectionRequest) -> Void
40 |     ) {
41 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
42 |         completion(result)
43 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:53:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
51 |         completion: @escaping (AppSyncMessage) -> Void
52 |     ) {
53 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
54 |         completion(result)
55 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:70:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
68 |         // A new instance is required each time a monitor is started
69 |         let monitor = NWPathMonitor()
70 |         monitor.pathUpdateHandler = didUpdate(path:)
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
71 |         monitor.start(queue: queue)
72 |         self.monitor = monitor
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:90:13: warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
88 |         let connectivityPath = ConnectivityPath(path: path)
89 |         connectivityUpdatesQueue.async {
90 |             onConnectivityUpdates(connectivityPath)
   |             |- warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
91 |         }
92 |     }
[73/76] Compiling AppSyncRealTimeClient InterceptableConnection+Default.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:17:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
15 |         completion: @escaping (AppSyncConnectionRequest) -> Void
16 |     ) {
17 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
18 |         completion(result)
19 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:29:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
27 |         completion: @escaping (AppSyncMessage) -> Void
28 |     ) {
29 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
30 |         completion(result)
31 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:41:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
39 |         completion: @escaping (AppSyncConnectionRequest) -> Void
40 |     ) {
41 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
42 |         completion(result)
43 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:53:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
51 |         completion: @escaping (AppSyncMessage) -> Void
52 |     ) {
53 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
54 |         completion(result)
55 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:70:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
68 |         // A new instance is required each time a monitor is started
69 |         let monitor = NWPathMonitor()
70 |         monitor.pathUpdateHandler = didUpdate(path:)
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
71 |         monitor.start(queue: queue)
72 |         self.monitor = monitor
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:90:13: warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
88 |         let connectivityPath = ConnectivityPath(path: path)
89 |         connectivityUpdatesQueue.async {
90 |             onConnectivityUpdates(connectivityPath)
   |             |- warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
91 |         }
92 |     }
[74/76] Compiling AppSyncRealTimeClient InterceptableConnection.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:17:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
15 |         completion: @escaping (AppSyncConnectionRequest) -> Void
16 |     ) {
17 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
18 |         completion(result)
19 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:29:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
27 |         completion: @escaping (AppSyncMessage) -> Void
28 |     ) {
29 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
30 |         completion(result)
31 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:41:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
39 |         completion: @escaping (AppSyncConnectionRequest) -> Void
40 |     ) {
41 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
42 |         completion(result)
43 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:53:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
51 |         completion: @escaping (AppSyncMessage) -> Void
52 |     ) {
53 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
54 |         completion(result)
55 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:70:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
68 |         // A new instance is required each time a monitor is started
69 |         let monitor = NWPathMonitor()
70 |         monitor.pathUpdateHandler = didUpdate(path:)
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
71 |         monitor.start(queue: queue)
72 |         self.monitor = monitor
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:90:13: warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
88 |         let connectivityPath = ConnectivityPath(path: path)
89 |         connectivityUpdatesQueue.async {
90 |             onConnectivityUpdates(connectivityPath)
   |             |- warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
91 |         }
92 |     }
[75/76] Compiling AppSyncRealTimeClient InterceptableConnectionAsync.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:17:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
15 |         completion: @escaping (AppSyncConnectionRequest) -> Void
16 |     ) {
17 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
18 |         completion(result)
19 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:29:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
27 |         completion: @escaping (AppSyncMessage) -> Void
28 |     ) {
29 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
30 |         completion(result)
31 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:41:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
39 |         completion: @escaping (AppSyncConnectionRequest) -> Void
40 |     ) {
41 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
42 |         completion(result)
43 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:53:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
51 |         completion: @escaping (AppSyncMessage) -> Void
52 |     ) {
53 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
54 |         completion(result)
55 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:70:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
68 |         // A new instance is required each time a monitor is started
69 |         let monitor = NWPathMonitor()
70 |         monitor.pathUpdateHandler = didUpdate(path:)
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
71 |         monitor.start(queue: queue)
72 |         self.monitor = monitor
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:90:13: warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
88 |         let connectivityPath = ConnectivityPath(path: path)
89 |         connectivityUpdatesQueue.async {
90 |             onConnectivityUpdates(connectivityPath)
   |             |- warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
91 |         }
92 |     }
[76/76] Compiling AppSyncRealTimeClient ConnectivityMonitor.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:17:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
15 |         completion: @escaping (AppSyncConnectionRequest) -> Void
16 |     ) {
17 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptableAsync or completion handler flavor
18 |         completion(result)
19 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:29:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
27 |         completion: @escaping (AppSyncMessage) -> Void
28 |     ) {
29 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptableAsync or completion handler flavor
30 |         completion(result)
31 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:41:22: warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
39 |         completion: @escaping (AppSyncConnectionRequest) -> Void
40 |     ) {
41 |         let result = interceptConnection(request, for: endpoint)
   |                      `- warning: 'interceptConnection(_:for:)' is deprecated: Use the async version under ConnectionInterceptorAsync or completion handler flavor
42 |         completion(result)
43 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/InterceptableConnection+Default.swift:53:22: warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
51 |         completion: @escaping (AppSyncMessage) -> Void
52 |     ) {
53 |         let result = interceptMessage(message, for: endpoint)
   |                      `- warning: 'interceptMessage(_:for:)' is deprecated: Use the async version under MessageInterceptorAsync or completion handler flavor
54 |         completion(result)
55 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:70:35: warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
68 |         // A new instance is required each time a monitor is started
69 |         let monitor = NWPathMonitor()
70 |         monitor.pathUpdateHandler = didUpdate(path:)
   |                                   `- warning: converting non-sendable function value to '@Sendable (NWPath) -> Void' may introduce data races
71 |         monitor.start(queue: queue)
72 |         self.monitor = monitor
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectivityMonitor/ConnectivityMonitor.swift:90:13: warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
88 |         let connectivityPath = ConnectivityPath(path: path)
89 |         connectivityUpdatesQueue.async {
90 |             onConnectivityUpdates(connectivityPath)
   |             |- warning: capture of 'onConnectivityUpdates' with non-sendable type 'ConnectivityUpdates' (aka '(ConnectivityPath) -> ()') in a '@Sendable' closure
   |             `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
91 |         }
92 |     }
Build complete! (8.79s)
warning: 'starscream': found 1 file(s) which are unhandled; explicitly declare them as resources or exclude from the target
    /Users/admin/builder/spi-builder-workspace/.build/checkouts/Starscream/Sources/Info.plist
Build complete.
{
  "dependencies" : [
    {
      "identity" : "starscream",
      "requirement" : {
        "exact" : [
          "4.0.8"
        ]
      },
      "type" : "sourceControl",
      "url" : "https://github.com/daltoniam/Starscream"
    }
  ],
  "manifest_display_name" : "AppSyncRealTimeClient",
  "name" : "AppSyncRealTimeClient",
  "path" : "/Users/admin/builder/spi-builder-workspace",
  "platforms" : [
  ],
  "products" : [
    {
      "name" : "AppSyncRealTimeClient",
      "targets" : [
        "AppSyncRealTimeClient"
      ],
      "type" : {
        "library" : [
          "automatic"
        ]
      }
    }
  ],
  "targets" : [
    {
      "c99name" : "AppSyncRealTimeClientTests",
      "module_type" : "SwiftTarget",
      "name" : "AppSyncRealTimeClientTests",
      "path" : "AppSyncRealTimeClientTests",
      "sources" : [
        "Connection/AppSyncSubscriptionConnectionErrorHandlerTests.swift",
        "Connection/AppSyncSubscriptionConnectionTests.swift",
        "ConnectionProvider/AppSyncRealTimeConnection/RealTimeConnectionProviderResponseTests.swift",
        "ConnectionProvider/ConnectionProviderAsync/ConnectionProviderAsyncTests.swift",
        "ConnectionProvider/ConnectionProviderAsync/RealtimeConnectionProviderAsyncTestBase.swift",
        "ConnectionProvider/ConnectionProviderHandleErrorTests.swift",
        "ConnectionProvider/ConnectionProviderStaleConnectionTests.swift",
        "ConnectionProvider/ConnectionProviderTests.swift",
        "ConnectionProvider/RealtimeConnectionProviderTestBase.swift",
        "ConnectivityMonitor/ConnectivityMonitorTests.swift",
        "Interceptor/APIKeyAuthInterceptorTests.swift",
        "Interceptor/AppSyncJSONHelperTests.swift",
        "Interceptor/AppSyncURLHelperTests.swift",
        "Interceptor/OIDCAuthInterceptorTests.swift",
        "Mocks/MockConnectionProvider.swift",
        "Mocks/MockConnectivityMonitor.swift",
        "Mocks/MockWebsocketProvider.swift",
        "Support/CountdownTimerTests.swift",
        "Support/RealtimeGatewayURLInterceptorTests.swift",
        "TestSupport/Error+Extension.swift"
      ],
      "target_dependencies" : [
        "AppSyncRealTimeClient"
      ],
      "type" : "test"
    },
    {
      "c99name" : "AppSyncRealTimeClient",
      "module_type" : "SwiftTarget",
      "name" : "AppSyncRealTimeClient",
      "path" : "AppSyncRealTimeClient",
      "product_dependencies" : [
        "Starscream"
      ],
      "product_memberships" : [
        "AppSyncRealTimeClient"
      ],
      "sources" : [
        "AWSAppSyncRealTimeClient.swift",
        "Connection/AppSyncConnection/AppSyncSubscriptionConnection+Connection.swift",
        "Connection/AppSyncConnection/AppSyncSubscriptionConnection+DataHandler.swift",
        "Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift",
        "Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift",
        "Connection/RetryableConnection.swift",
        "Connection/SubscriptionConnection.swift",
        "Connection/SubscriptionItem.swift",
        "ConnectionProvider/AppSyncConnectionRequest.swift",
        "ConnectionProvider/AppSyncMessage+Encodable.swift",
        "ConnectionProvider/AppSyncMessage.swift",
        "ConnectionProvider/AppSyncResponse.swift",
        "ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+ConnectionInterceptable.swift",
        "ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+MessageInterceptable.swift",
        "ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+StaleConnection.swift",
        "ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider+Websocket.swift",
        "ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProvider.swift",
        "ConnectionProvider/AppsyncRealtimeConnection/RealtimeConnectionProviderResponse.swift",
        "ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+ConnectionInterceptableAsync.swift",
        "ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+MessageInterceptableAsync.swift",
        "ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+StaleConnection.swift",
        "ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift",
        "ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift",
        "ConnectionProvider/ConnectionProvider.swift",
        "ConnectionProvider/ConnectionProviderError.swift",
        "ConnectionProvider/ConnectionProviderFactory.swift",
        "ConnectionProvider/InterceptableConnection+Default.swift",
        "ConnectionProvider/InterceptableConnection.swift",
        "ConnectionProvider/InterceptableConnectionAsync.swift",
        "ConnectivityMonitor/ConnectivityMonitor.swift",
        "ConnectivityMonitor/ConnectivityPath.swift",
        "Interceptor/APIKeyAuthInterceptor.swift",
        "Interceptor/OIDCAuthInterceptor.swift",
        "Interceptor/OIDCAuthInterceptorAsync.swift",
        "Interceptor/RealtimeGatewayURLInterceptor.swift",
        "Support/AppSyncJSONHelper.swift",
        "Support/AppSyncJSONValue.swift",
        "Support/AppSyncLogger.swift",
        "Support/AppSyncURLHelper.swift",
        "Support/AtomicValue.swift",
        "Support/CountdownTimer.swift",
        "Support/OIDCAuthProvider.swift",
        "Support/OIDCAuthProviderAsync.swift",
        "Support/SubscriptionConnectionType.swift",
        "Support/SubscriptionConstants.swift",
        "Support/TaskQueue.swift",
        "Websocket/AppSyncWebsocketProvider.swift",
        "Websocket/Starscream/StarscreamAdapter+Delegate.swift",
        "Websocket/Starscream/StarscreamAdapter.swift"
      ],
      "type" : "library"
    }
  ],
  "tools_version" : "5.5"
}
Done.