The Swift Package Index logo.Swift Package Index

Build Information

Successful build of AppSyncRealTimeClient, reference main (e7d3bb), with Swift 6.1 for macOS (SPM) on 1 Oct 2026 03:12:29 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

 61 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 62 |             }
 63 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:61:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 59 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 60 |             taskQueue.async { [weak self] in
 61 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 62 |             }
 63 |         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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:66:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 65 |             taskQueue.async { [weak self] in
 66 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 67 |             }
 68 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:66:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 65 |             taskQueue.async { [weak self] in
 66 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 67 |             }
 68 |         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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:102:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
100 |     public func connect() {
101 |         taskQueue.async { [weak self] in
102 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
103 |                 return
104 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:132:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
130 |     public func write(_ message: AppSyncMessage) {
131 |         taskQueue.async { [weak self] in
132 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
133 |                 return
134 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:142:61: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
140 |                 return
141 |             }
142 |             let signedMessage = await self.interceptMessage(message, for: url)
    |                                                             `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
143 |
144 |             let jsonEncoder = JSONEncoder()
/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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:167:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
165 |     public func disconnect() {
166 |         taskQueue.async {
167 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 |             self.invalidateStaleConnectionTimer()
169 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:174:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
172 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
173 |         taskQueue.async { [weak self] in
174 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
175 |         }
176 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:174:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
172 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
173 |         taskQueue.async { [weak self] in
174 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
175 |         }
176 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:180:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
178 |     public func removeListener(identifier: String) {
179 |         taskQueue.async { [weak self] in
180 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 |                 return
182 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:210:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
208 |     func updateCallback(event: ConnectionProviderEvent) {
209 |         taskQueue.async { [weak self] in
210 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
211 |                 return
212 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
216 |             }
217 |         }
/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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 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'
216 |             }
217 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
216 |             }
217 |         }
/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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 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
216 |             }
217 |         }
/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/ConnectionProviderError.swift:24:10: warning: associated value 'subscription' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
22 |     /// will have the identifier if available. The second optional value is the error
23 |     /// payload in dictionary format.
24 |     case subscription(String, [String: Any]?)
   |          `- warning: associated value 'subscription' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
25 |
26 |     /// Caused when not authorized to establish the connection.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderError.swift:30:10: warning: associated value 'unknown(message:causedBy:payload:)' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
28 |
29 |     /// Unknown error
30 |     case unknown(message: String? = nil, causedBy: Error? = nil, payload: [String: Any]?)
   |          `- warning: associated value 'unknown(message:causedBy:payload:)' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
31 | }
32 |
[56/76] Compiling AppSyncRealTimeClient ConnectionProviderError.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+StaleConnection.swift:41:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
39 |     func handleConnectivityUpdates(connectivity: ConnectivityPath) {
40 |         taskQueue.async { [weak self] in
41 |             guard let self = self else {
   |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
42 |                 return
43 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+StaleConnection.swift:66:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
64 |     private func disconnectStaleConnection() {
65 |         taskQueue.async { [weak self] in
66 |             guard let self = self else {
   |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
67 |                 return
68 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:25:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 23 |     public func websocketDidDisconnect(provider: AppSyncWebsocketProvider, error: Error?) {
 24 |         taskQueue.async { [weak self] in
 25 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 26 |                 return
 27 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:56:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 54 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 55 |             taskQueue.async { [weak self] in
 56 |                 self?.handleConnectionAck(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 57 |             }
 58 |         case .error:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:56:53: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 54 |             AppSyncLogger.debug("[RealtimeConnectionProvider] received connectionAck")
 55 |             taskQueue.async { [weak self] in
 56 |                 self?.handleConnectionAck(response: response)
    |                                                     `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 57 |             }
 58 |         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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:61:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 59 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 60 |             taskQueue.async { [weak self] in
 61 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 62 |             }
 63 |         case .connectionError:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:61:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 59 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 60 |             taskQueue.async { [weak self] in
 61 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 62 |             }
 63 |         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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:66:17: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 65 |             taskQueue.async { [weak self] in
 66 |                 self?.handleError(response: response)
    |                 `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 67 |             }
 68 |         case .subscriptionAck, .unsubscriptionAck, .data:
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:16:14: note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync+Websocket.swift:66:45: warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 64 |             AppSyncLogger.verbose("[RealtimeConnectionProvider] received error")
 65 |             taskQueue.async { [weak self] in
 66 |                 self?.handleError(response: response)
    |                                             `- warning: capture of 'response' with non-sendable type 'RealtimeConnectionProviderResponse' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 67 |             }
 68 |         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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:102:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
100 |     public func connect() {
101 |         taskQueue.async { [weak self] in
102 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
103 |                 return
104 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:132:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
130 |     public func write(_ message: AppSyncMessage) {
131 |         taskQueue.async { [weak self] in
132 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
133 |                 return
134 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:142:61: warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
140 |                 return
141 |             }
142 |             let signedMessage = await self.interceptMessage(message, for: url)
    |                                                             `- warning: capture of 'message' with non-sendable type 'AppSyncMessage' in a '@Sendable' closure; this is an error in the Swift 6 language mode
143 |
144 |             let jsonEncoder = JSONEncoder()
/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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:167:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
165 |     public func disconnect() {
166 |         taskQueue.async {
167 |             self.websocket.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync' in a '@Sendable' closure; this is an error in the Swift 6 language mode
168 |             self.invalidateStaleConnectionTimer()
169 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:174:13: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
172 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
173 |         taskQueue.async { [weak self] in
174 |             self?.listeners[identifier] = callback
    |             `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
175 |         }
176 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:174:43: warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
172 |     public func addListener(identifier: String, callback: @escaping ConnectionProviderCallback) {
173 |         taskQueue.async { [weak self] in
174 |             self?.listeners[identifier] = callback
    |                                           |- warning: capture of 'callback' with non-sendable type 'ConnectionProviderCallback' (aka '(ConnectionProviderEvent) -> ()') in a '@Sendable' closure; this is an error in the Swift 6 language mode
    |                                           `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
175 |         }
176 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:180:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
178 |     public func removeListener(identifier: String) {
179 |         taskQueue.async { [weak self] in
180 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
181 |                 return
182 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:210:30: warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
 14 | /// through websocket.
 15 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
 16 | public class RealtimeConnectionProviderAsync: ConnectionProvider {
    |              `- note: class 'RealtimeConnectionProviderAsync' does not conform to the 'Sendable' protocol
 17 |     /// Maximum number of seconds a connection may go without receiving a keep alive
 18 |     /// message before we consider it stale and force a disconnect
    :
208 |     func updateCallback(event: ConnectionProviderEvent) {
209 |         taskQueue.async { [weak self] in
210 |             guard let self = self else {
    |                              `- warning: capture of 'self' with non-sendable type 'RealtimeConnectionProviderAsync?' in a '@Sendable' closure; this is an error in the Swift 6 language mode
211 |                 return
212 |             }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure; this is an error in the Swift 6 language mode
216 |             }
217 |         }
/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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:17: warning: capture of 'allListeners' with non-sendable type '[Dictionary<String, ConnectionProviderCallback>.Values.Element]' (aka 'Array<(ConnectionProviderEvent) -> ()>') in a '@Sendable' closure
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 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'
216 |             }
217 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 allListeners.forEach { $0(event) }
    |                                           `- warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in a '@Sendable' closure
216 |             }
217 |         }
/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/AppsyncRealtimeConnectionAsync/RealtimeConnectionProviderAsync.swift:215:43: warning: capture of 'event' with non-sendable type 'ConnectionProviderEvent' in an isolated closure; this is an error in the Swift 6 language mode
213 |             let allListeners = Array(self.listeners.values)
214 |             self.serialCallbackQueue.async {
215 |                 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
216 |             }
217 |         }
/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/ConnectionProviderError.swift:24:10: warning: associated value 'subscription' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
22 |     /// will have the identifier if available. The second optional value is the error
23 |     /// payload in dictionary format.
24 |     case subscription(String, [String: Any]?)
   |          `- warning: associated value 'subscription' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
25 |
26 |     /// Caused when not authorized to establish the connection.
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/ConnectionProvider/ConnectionProviderError.swift:30:10: warning: associated value 'unknown(message:causedBy:payload:)' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
28 |
29 |     /// Unknown error
30 |     case unknown(message: String? = nil, causedBy: Error? = nil, payload: [String: Any]?)
   |          `- warning: associated value 'unknown(message:causedBy:payload:)' of 'Sendable'-conforming enum 'ConnectionProviderError' has non-sendable type 'Any'; this is an error in the Swift 6 language mode
31 | }
32 |
[57/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 |     }
[58/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 |     }
[59/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 |     }
[60/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 |     }
[61/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 |     }
[62/76] Compiling AppSyncRealTimeClient CountdownTimer.swift
[63/76] Compiling AppSyncRealTimeClient OIDCAuthProvider.swift
[64/76] Compiling AppSyncRealTimeClient OIDCAuthProviderAsync.swift
[65/76] Compiling AppSyncRealTimeClient SubscriptionConnectionType.swift
[66/76] Compiling AppSyncRealTimeClient SubscriptionConstants.swift
[67/76] Compiling AppSyncRealTimeClient ConnectivityPath.swift
[68/76] Compiling AppSyncRealTimeClient APIKeyAuthInterceptor.swift
[69/76] Compiling AppSyncRealTimeClient OIDCAuthInterceptor.swift
[70/76] Compiling AppSyncRealTimeClient OIDCAuthInterceptorAsync.swift
[71/76] Compiling AppSyncRealTimeClient RealtimeGatewayURLInterceptor.swift
[72/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)
[73/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)
[74/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)
[75/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)
[76/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)
Build complete! (9.95s)
Fetching https://github.com/daltoniam/Starscream
[1/5205] Fetching starscream
Fetched https://github.com/daltoniam/Starscream from cache (1.68s)
Computing version for https://github.com/daltoniam/Starscream
Computed https://github.com/daltoniam/Starscream at 4.0.8 (2.31s)
Creating working copy for https://github.com/daltoniam/Starscream
Working copy of https://github.com/daltoniam/Starscream resolved at 4.0.8
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.