The Swift Package Index logo.Swift Package Index

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

Build Information

Successful build of AppSyncRealTimeClient, reference main (ab284d), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 17:33:09 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

 9 |
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                |- note: add '@MainActor' to make static property 'lock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:14:16: warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |     static let lock: NSLocking = NSLock()
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
   |                |- warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert '_logLevel' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property '_logLevel' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 |     public static var logLevel: LogLevel {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:134:1: warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
132 | }
133 |
134 | extension WSError: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
135 |     public var description: String {
136 |         """
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:63:17: warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 61 |             AppSyncLogger.debug("[AppSyncSubscriptionConnection] Retrying subscription \(subscriptionItem.identifier) after \(retryInterval)")
 62 |             DispatchQueue.global().asyncAfter(deadline: .now() + retryInterval) {
 63 |                 self.connectionProvider?.connect()
    |                 `- warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 64 |             }
 65 |         } else {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift:18:14: note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | public class AppSyncSubscriptionConnection: SubscriptionConnection, RetryableConnection {
    |              `- note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 19 |     /// Connection provider that connects with the service
 20 |     weak var connectionProvider: ConnectionProvider?
[65/76] Compiling AppSyncRealTimeClient AppSyncSubscriptionConnection+DataHandler.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:12:16: warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'any NSLocking' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                `- warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'any NSLocking' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:11:11: note: protocol 'NSLocking' does not conform to the 'Sendable' protocol
 9 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
10 |
11 | @protocol NSLocking
   |           `- note: protocol 'NSLocking' does not conform to the 'Sendable' protocol
12 |
13 | - (void)lock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 6 | //
 7 |
 8 | import Foundation
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 9 |
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                |- note: add '@MainActor' to make static property 'lock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:14:16: warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |     static let lock: NSLocking = NSLock()
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
   |                |- warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert '_logLevel' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property '_logLevel' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 |     public static var logLevel: LogLevel {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:134:1: warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
132 | }
133 |
134 | extension WSError: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
135 |     public var description: String {
136 |         """
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:63:17: warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 61 |             AppSyncLogger.debug("[AppSyncSubscriptionConnection] Retrying subscription \(subscriptionItem.identifier) after \(retryInterval)")
 62 |             DispatchQueue.global().asyncAfter(deadline: .now() + retryInterval) {
 63 |                 self.connectionProvider?.connect()
    |                 `- warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 64 |             }
 65 |         } else {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift:18:14: note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | public class AppSyncSubscriptionConnection: SubscriptionConnection, RetryableConnection {
    |              `- note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 19 |     /// Connection provider that connects with the service
 20 |     weak var connectionProvider: ConnectionProvider?
[66/76] Compiling AppSyncRealTimeClient AppSyncSubscriptionConnection+ErrorHandler.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:12:16: warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'any NSLocking' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                `- warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'any NSLocking' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:11:11: note: protocol 'NSLocking' does not conform to the 'Sendable' protocol
 9 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
10 |
11 | @protocol NSLocking
   |           `- note: protocol 'NSLocking' does not conform to the 'Sendable' protocol
12 |
13 | - (void)lock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 6 | //
 7 |
 8 | import Foundation
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 9 |
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                |- note: add '@MainActor' to make static property 'lock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:14:16: warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |     static let lock: NSLocking = NSLock()
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
   |                |- warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert '_logLevel' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property '_logLevel' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 |     public static var logLevel: LogLevel {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:134:1: warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
132 | }
133 |
134 | extension WSError: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
135 |     public var description: String {
136 |         """
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:63:17: warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 61 |             AppSyncLogger.debug("[AppSyncSubscriptionConnection] Retrying subscription \(subscriptionItem.identifier) after \(retryInterval)")
 62 |             DispatchQueue.global().asyncAfter(deadline: .now() + retryInterval) {
 63 |                 self.connectionProvider?.connect()
    |                 `- warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 64 |             }
 65 |         } else {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift:18:14: note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | public class AppSyncSubscriptionConnection: SubscriptionConnection, RetryableConnection {
    |              `- note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 19 |     /// Connection provider that connects with the service
 20 |     weak var connectionProvider: ConnectionProvider?
[67/76] Compiling AppSyncRealTimeClient AppSyncSubscriptionConnection.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:12:16: warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'any NSLocking' may have shared mutable state; this is an error in the Swift 6 language mode
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                `- warning: static property 'lock' is not concurrency-safe because non-'Sendable' type 'any NSLocking' may have shared mutable state; this is an error in the Swift 6 language mode
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/Foundation.framework/Headers/NSLock.h:11:11: note: protocol 'NSLocking' does not conform to the 'Sendable' protocol
 9 | NS_HEADER_AUDIT_BEGIN(nullability, sendability)
10 |
11 | @protocol NSLocking
   |           `- note: protocol 'NSLocking' does not conform to the 'Sendable' protocol
12 |
13 | - (void)lock NS_SWIFT_UNAVAILABLE_FROM_ASYNC("Use async-safe scoped locking instead");
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:8:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 6 | //
 7 |
 8 | import Foundation
   | `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'Foundation'
 9 |
10 | public enum AppSyncRealTimeClient {
11 |
12 |     static let lock: NSLocking = NSLock()
   |                |- note: add '@MainActor' to make static property 'lock' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/AWSAppSyncRealTimeClient.swift:14:16: warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 |     static let lock: NSLocking = NSLock()
13 |
14 |     static var _logLevel = LogLevel.error // swiftlint:disable:this identifier_name
   |                |- warning: static property '_logLevel' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
   |                |- note: convert '_logLevel' to a 'let' constant to make 'Sendable' shared state immutable
   |                |- note: add '@MainActor' to make static property '_logLevel' part of global actor 'MainActor'
   |                `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 |
16 |     public static var logLevel: LogLevel {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:134:1: warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
132 | }
133 |
134 | extension WSError: CustomStringConvertible {
    | |- warning: extension declares a conformance of imported type 'WSError' to imported protocol 'CustomStringConvertible'; this will not behave correctly if the owners of 'Starscream' introduce this conformance in the future
    | `- note: add '@retroactive' to silence this warning
135 |     public var description: String {
136 |         """
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection+ErrorHandler.swift:63:17: warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 61 |             AppSyncLogger.debug("[AppSyncSubscriptionConnection] Retrying subscription \(subscriptionItem.identifier) after \(retryInterval)")
 62 |             DispatchQueue.global().asyncAfter(deadline: .now() + retryInterval) {
 63 |                 self.connectionProvider?.connect()
    |                 `- warning: capture of 'self' with non-sendable type 'AppSyncSubscriptionConnection' in a '@Sendable' closure
 64 |             }
 65 |         } else {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Connection/AppSyncConnection/AppSyncSubscriptionConnection.swift:18:14: note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 16 | }
 17 |
 18 | public class AppSyncSubscriptionConnection: SubscriptionConnection, RetryableConnection {
    |              `- note: class 'AppSyncSubscriptionConnection' does not conform to the 'Sendable' protocol
 19 |     /// Connection provider that connects with the service
 20 |     weak var connectionProvider: ConnectionProvider?
[68/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)
[69/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)
[70/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)
[71/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)
[72/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)
[73/76] Compiling AppSyncRealTimeClient TaskQueue.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[74/76] Compiling AppSyncRealTimeClient AppSyncWebsocketProvider.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[75/76] Compiling AppSyncRealTimeClient StarscreamAdapter+Delegate.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
[76/76] Compiling AppSyncRealTimeClient StarscreamAdapter.swift
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:14:17: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
   |                 `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:24: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                        `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
19 |             return try await block()
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:18:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
18 |             _ = await previousTask?.result
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
19 |             return try await block()
20 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: type 'Success' does not conform to the 'Sendable' protocol; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:23: warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                       `- warning: non-sendable type 'Task<Success, any Error>' cannot exit actor-isolated context in call to nonisolated property 'value'; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:21:37: warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
11 |
12 | @available(iOS 13.0, macOS 10.15, tvOS 13.0, watchOS 6.0, *)
13 | actor TaskQueue<Success> {
   |                 `- note: consider making generic parameter 'Success' conform to the 'Sendable' protocol
14 |     private var previousTask: Task<Success, Error>?
15 |
   :
19 |             return try await block()
20 |         }
21 |         _ = try await previousTask?.value
   |                                     `- warning: non-sendable type 'Success' of nonisolated property 'value' cannot be sent to actor-isolated context; this is an error in the Swift 6 language mode
22 |     }
23 |
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:44:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
42 |         AppSyncLogger.verbose("[StarscreamAdapter] websocketDidConnect: websocket has been connected.")
43 |         serialQueue.async {
44 |             self._isConnected = true
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
45 |             self.delegate?.websocketDidConnect(provider: self)
46 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter+Delegate.swift:54:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
52 |         )
53 |         serialQueue.async {
54 |             self._isConnected = false
   |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
55 |             self.delegate?.websocketDidDisconnect(provider: self, error: error)
56 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:11:14: note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:50:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 48 |             urlRequest.setValue(protocolHeaderValue, forHTTPHeaderField: "Sec-WebSocket-Protocol")
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 51 |             self.delegate = delegate
 52 |             self.socket?.delegate = self
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:51:29: warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 49 |
 50 |             self.socket = WebSocket(request: urlRequest)
 51 |             self.delegate = delegate
    |                             `- warning: capture of 'delegate' with non-sendable type '(any AppSyncWebsocketDelegate)?' in a '@Sendable' closure
 52 |             self.socket?.delegate = self
 53 |             self.socket?.callbackQueue = self.callbackQueue
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/AppSyncWebsocketProvider.swift:31:17: note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
29 |
30 | /// Delegate method to get callbacks on websocket provider connection
31 | public protocol AppSyncWebsocketDelegate: AnyObject {
   |                 `- note: protocol 'AppSyncWebsocketDelegate' does not conform to the 'Sendable' protocol
32 |
33 |     func websocketDidConnect(provider: AppSyncWebsocketProvider)
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:62:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 60 |         serialQueue.async {
 61 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.disconnect")
 62 |             self.socket?.disconnect()
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 63 |             self.socket = nil
 64 |         }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Websocket/Starscream/StarscreamAdapter.swift:70:13: warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
  9 | import Starscream
 10 |
 11 | public class StarscreamAdapter: AppSyncWebsocketProvider {
    |              `- note: class 'StarscreamAdapter' does not conform to the 'Sendable' protocol
 12 |     let serialQueue: DispatchQueue
 13 |     private let callbackQueue: DispatchQueue
    :
 68 |         serialQueue.async {
 69 |             AppSyncLogger.verbose("[StarscreamAdapter] socket.write - \(message)")
 70 |             self.socket?.write(string: message)
    |             `- warning: capture of 'self' with non-sendable type 'StarscreamAdapter' in a '@Sendable' closure
 71 |         }
 72 |     }
/Users/admin/builder/spi-builder-workspace/AppSyncRealTimeClient/Support/TaskQueue.swift:17:29: warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
15 |
16 |     func sync(block: @Sendable @escaping () async throws -> Success) async throws {
17 |         previousTask = Task { [previousTask] in
   |                             `- warning: passing closure as a 'sending' parameter risks causing data races between 'self'-isolated code and concurrent execution of the closure; this is an error in the Swift 6 language mode
18 |             _ = await previousTask?.result
   |                       `- note: closure captures 'previousTask' which is accessible to 'self'-isolated code
19 |             return try await block()
20 |         }
Build complete! (8.56s)
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.