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.