Build Information
Successful build of FalClient, reference 0.5.6 (a58ca8
), with Swift 6.1 for macOS (SPM) on 28 Apr 2025 11:32:58 UTC.
Swift 6 data race errors: 9
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
========================================
RunAll
========================================
Builder version: 4.61.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/fal-ai/fal-swift.git
Reference: 0.5.6
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/fal-ai/fal-swift
* tag 0.5.6 -> FETCH_HEAD
HEAD is now at a58ca8a fix(queue): codable input request url (#17)
Cloned https://github.com/fal-ai/fal-swift.git
Revision (git rev-parse @):
a58ca8a926a56a69ba3c454583f626b3629a4223
SPI manifest file found: $PWD/.spi.yml
SUCCESS checkout https://github.com/fal-ai/fal-swift.git at 0.5.6
Fetching https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetching https://github.com/nnabeyang/swift-msgpack.git
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/mattgallagher/CwlCatchException.git
Fetching https://github.com/Quick/Nimble.git
[1/455] Fetching cwlcatchexception
[29/1712] Fetching cwlcatchexception, cwlpreconditiontesting
[520/2301] Fetching cwlcatchexception, cwlpreconditiontesting, swift-msgpack
[1536/17056] Fetching cwlcatchexception, cwlpreconditiontesting, swift-msgpack, quick
[2745/36623] Fetching cwlcatchexception, cwlpreconditiontesting, swift-msgpack, quick, nimble
Fetched https://github.com/Quick/Quick.git from cache (1.75s)
Fetched https://github.com/mattgallagher/CwlPreconditionTesting.git from cache (1.75s)
Fetched https://github.com/nnabeyang/swift-msgpack.git from cache (1.75s)
Fetched https://github.com/mattgallagher/CwlCatchException.git from cache (1.75s)
Fetched https://github.com/Quick/Nimble.git from cache (1.75s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 13.2.0 (2.29s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 7.3.1 (0.60s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.3.3 (0.60s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.0 (0.59s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.2 (0.59s)
Creating working copy for https://github.com/mattgallagher/CwlPreconditionTesting.git
Working copy of https://github.com/mattgallagher/CwlPreconditionTesting.git resolved at 2.2.0
Creating working copy for https://github.com/Quick/Quick.git
Working copy of https://github.com/Quick/Quick.git resolved at 7.3.1
Creating working copy for https://github.com/mattgallagher/CwlCatchException.git
Working copy of https://github.com/mattgallagher/CwlCatchException.git resolved at 2.1.2
Creating working copy for https://github.com/Quick/Nimble.git
Working copy of https://github.com/Quick/Nimble.git resolved at 13.2.0
Creating working copy for https://github.com/nnabeyang/swift-msgpack.git
Working copy of https://github.com/nnabeyang/swift-msgpack.git resolved at 0.3.3
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "fal-swift",
"name": "FalClient",
"url": "https://github.com/fal-ai/fal-swift.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/fal-swift",
"dependencies": [
{
"identity": "swift-msgpack",
"name": "swift-msgpack",
"url": "https://github.com/nnabeyang/swift-msgpack.git",
"version": "0.7.0",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/swift-msgpack",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/fal-ai/fal-swift.git
[14/684] Fetching fal-swift
Fetched https://github.com/fal-ai/fal-swift.git from cache (0.78s)
Fetching https://github.com/nnabeyang/swift-msgpack.git from cache
Fetched https://github.com/nnabeyang/swift-msgpack.git from cache (0.45s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.7.0 (1.00s)
Creating working copy for https://github.com/nnabeyang/swift-msgpack.git
Working copy of https://github.com/nnabeyang/swift-msgpack.git resolved at 0.7.0
Creating working copy for https://github.com/fal-ai/fal-swift.git
Working copy of https://github.com/fal-ai/fal-swift.git resolved at 0.5.6 (a58ca8a)
warning: '.resolve-product-dependencies': dependency 'fal-swift' is not used by any target
Found 1 product dependencies
- swift-msgpack
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.1
Building package at path: $PWD
https://github.com/fal-ai/fal-swift.git
https://github.com/fal-ai/fal-swift.git
{
"dependencies" : [
{
"identity" : "swift-msgpack",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.3",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nnabeyang/swift-msgpack.git"
},
{
"identity" : "quick",
"requirement" : {
"range" : [
{
"lower_bound" : "7.3.0",
"upper_bound" : "8.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Quick.git"
},
{
"identity" : "nimble",
"requirement" : {
"range" : [
{
"lower_bound" : "13.0.0",
"upper_bound" : "14.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Nimble.git"
}
],
"manifest_display_name" : "FalClient",
"name" : "FalClient",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "FalClient",
"targets" : [
"FalClient"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FalClientTests",
"module_type" : "SwiftTarget",
"name" : "FalClientTests",
"path" : "Tests/FalClientTests",
"product_dependencies" : [
"Quick",
"Nimble"
],
"sources" : [
"UtilitySpec.swift"
],
"target_dependencies" : [
"FalClient"
],
"type" : "test"
},
{
"c99name" : "FalClient",
"module_type" : "SwiftTarget",
"name" : "FalClient",
"path" : "Sources/FalClient",
"product_dependencies" : [
"SwiftMsgpack"
],
"product_memberships" : [
"FalClient"
],
"sources" : [
"Client+Codable.swift",
"Client+Config.swift",
"Client+Request.swift",
"Client.swift",
"FalClient.swift",
"FalError.swift",
"FalImage.swift",
"Payload.swift",
"Queue+Codable.swift",
"Queue.swift",
"QueueStatus.swift",
"Realtime+Codable.swift",
"Realtime.swift",
"Storage.swift",
"TimeInterval+Extensions.swift",
"Utility.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
Running build ...
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
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version-2F0A5646E1D333AE.txt
[4/9] Compiling SwiftMsgpack MsgPackEncoder.swift
[5/9] Compiling SwiftMsgpack MsgPackScanner.swift
[6/9] Compiling SwiftMsgpack MsgPackTimestamp.swift
[7/9] Compiling SwiftMsgpack AnyCodable.swift
[8/9] Compiling SwiftMsgpack MsgPackDecoder.swift
[9/9] Emitting module SwiftMsgpack
[10/25] Compiling FalClient FalImage.swift
[11/25] Compiling FalClient Payload.swift
[12/26] Compiling FalClient Storage.swift
[13/26] Compiling FalClient FalClient.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/FalError.swift:3:10: warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
1 |
2 | enum FalError: Error {
3 | case httpError(status: Int, message: String, payload: Payload?)
| `- warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
4 | case invalidResultFormat
5 | case invalidUrl(url: String)
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Payload.swift:10:13: note: consider making enum 'Payload' conform to the 'Sendable' protocol
8 | /// It supports binary data as well, so it can be kept and transformed if needed
9 | /// before it's encoded to JSON or any other supported format (e.g. msgpack).
10 | public enum Payload: Codable {
| `- note: consider making enum 'Payload' conform to the 'Sendable' protocol
11 | case string(String)
12 | case int(Int)
[14/26] Compiling FalClient FalError.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/FalError.swift:3:10: warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
1 |
2 | enum FalError: Error {
3 | case httpError(status: Int, message: String, payload: Payload?)
| `- warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
4 | case invalidResultFormat
5 | case invalidUrl(url: String)
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Payload.swift:10:13: note: consider making enum 'Payload' conform to the 'Sendable' protocol
8 | /// It supports binary data as well, so it can be kept and transformed if needed
9 | /// before it's encoded to JSON or any other supported format (e.g. msgpack).
10 | public enum Payload: Codable {
| `- note: consider making enum 'Payload' conform to the 'Sendable' protocol
11 | case string(String)
12 | case int(Int)
[15/26] Compiling FalClient TimeInterval+Extensions.swift
[16/26] Compiling FalClient Realtime.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:7: warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
153 | let app: String
154 | let client: Client
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:154:9: warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
153 | let app: String
154 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
155 | let onMessage: (WebSocketMessage) -> Void
156 | let onError: (Error) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:33:17: note: protocol 'Client' does not conform to the 'Sendable' protocol
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
32 |
33 | public protocol Client {
| `- note: protocol 'Client' does not conform to the 'Sendable' protocol
34 | var config: ClientConfig { get }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:155:9: warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
153 | let app: String
154 | let client: Client
155 | let onMessage: (WebSocketMessage) -> Void
| |- warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 | let onError: (Error) -> Void
157 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:156:9: warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
154 | let client: Client
155 | let onMessage: (WebSocketMessage) -> Void
156 | let onError: (Error) -> Void
| |- warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:160:17: warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
| `- warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
161 | private var task: URLSessionWebSocketTask?
162 | private var token: String?
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:329:5: warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
327 | }
328 |
329 | var connectionPool: [String: WebSocketConnection] = [:]
| |- warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionPool' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'connectionPool' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
330 |
331 | /// The real-time client contract.
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:223:14: warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
221 |
222 | func refreshToken(_ app: String, completion: @escaping (Result<String, Error>) -> Void) {
223 | Task {
| `- warning: passing closure as a 'sending' parameter risks causing data races between code in the current task and concurrent execution of the closure; this is an error in the Swift 6 language mode
224 | let url = "https://rest.alpha.fal.ai/tokens/"
225 | let body: Payload = try [
:
234 | )
235 | if let token = String(data: response, encoding: .utf8) {
236 | completion(.success(token.replacingOccurrences(of: "\"", with: "")))
| `- note: closure captures 'completion' which is accessible to code in the current task
237 | } else {
238 | completion(.failure(FalRealtimeError.unauthorized))
[17/26] Compiling FalClient QueueStatus.swift
[18/26] Compiling FalClient Realtime+Codable.swift
[19/26] Compiling FalClient Queue+Codable.swift
[20/26] Compiling FalClient Queue.swift
[21/26] Compiling FalClient Utility.swift
[22/26] Compiling FalClient Client+Request.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:29:12: warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | public struct RunOptions: RequestOptions {
| `- note: consider making struct 'RunOptions' conform to the 'Sendable' protocol
17 | public let path: String
18 | public let httpMethod: HttpMethod
:
27 | }
28 |
29 | public let DefaultRunOptions: RunOptions = .withMethod(.post)
| |- warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'DefaultRunOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
[23/26] Compiling FalClient Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:29:12: warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | public struct RunOptions: RequestOptions {
| `- note: consider making struct 'RunOptions' conform to the 'Sendable' protocol
17 | public let path: String
18 | public let httpMethod: HttpMethod
:
27 | }
28 |
29 | public let DefaultRunOptions: RunOptions = .withMethod(.post)
| |- warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'DefaultRunOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
[24/26] Compiling FalClient Client+Codable.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client+Codable.swift:5:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct EmptyInput: Encodable {
| `- note: consider making struct 'EmptyInput' conform to the 'Sendable' protocol
5 | public static let empty = EmptyInput()
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | }
7 |
[25/26] Compiling FalClient Client+Config.swift
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client+Codable.swift:5:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct EmptyInput: Encodable {
| `- note: consider making struct 'EmptyInput' conform to the 'Sendable' protocol
5 | public static let empty = EmptyInput()
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | }
7 |
[26/26] Emitting module FalClient
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client+Codable.swift:5:23: warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
2 | import Foundation
3 |
4 | public struct EmptyInput: Encodable {
| `- note: consider making struct 'EmptyInput' conform to the 'Sendable' protocol
5 | public static let empty = EmptyInput()
| |- warning: static property 'empty' is not concurrency-safe because non-'Sendable' type 'EmptyInput' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'empty' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
6 | }
7 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:29:12: warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
14 | }
15 |
16 | public struct RunOptions: RequestOptions {
| `- note: consider making struct 'RunOptions' conform to the 'Sendable' protocol
17 | public let path: String
18 | public let httpMethod: HttpMethod
:
27 | }
28 |
29 | public let DefaultRunOptions: RunOptions = .withMethod(.post)
| |- warning: let 'DefaultRunOptions' is not concurrency-safe because non-'Sendable' type 'RunOptions' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make let 'DefaultRunOptions' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
30 |
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/FalError.swift:3:10: warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
1 |
2 | enum FalError: Error {
3 | case httpError(status: Int, message: String, payload: Payload?)
| `- warning: associated value 'httpError(status:message:payload:)' of 'Sendable'-conforming enum 'FalError' has non-sendable type 'Payload'; this is an error in the Swift 6 language mode
4 | case invalidResultFormat
5 | case invalidUrl(url: String)
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Payload.swift:10:13: note: consider making enum 'Payload' conform to the 'Sendable' protocol
8 | /// It supports binary data as well, so it can be kept and transformed if needed
9 | /// before it's encoded to JSON or any other supported format (e.g. msgpack).
10 | public enum Payload: Codable {
| `- note: consider making enum 'Payload' conform to the 'Sendable' protocol
11 | case string(String)
12 | case int(Int)
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:152:7: warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
150 | typealias WebSocketMessage = URLSessionWebSocketTask.Message
151 |
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
| `- warning: non-final class 'WebSocketConnection' cannot conform to 'Sendable'; use '@unchecked Sendable'; this is an error in the Swift 6 language mode
153 | let app: String
154 | let client: Client
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:154:9: warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
152 | class WebSocketConnection: NSObject, URLSessionWebSocketDelegate {
153 | let app: String
154 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type 'any Client'; this is an error in the Swift 6 language mode
155 | let onMessage: (WebSocketMessage) -> Void
156 | let onError: (Error) -> Void
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Client.swift:33:17: note: protocol 'Client' does not conform to the 'Sendable' protocol
31 | public typealias OnQueueUpdate = (QueueStatus) -> Void
32 |
33 | public protocol Client {
| `- note: protocol 'Client' does not conform to the 'Sendable' protocol
34 | var config: ClientConfig { get }
35 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:155:9: warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
153 | let app: String
154 | let client: Client
155 | let onMessage: (WebSocketMessage) -> Void
| |- warning: stored property 'onMessage' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(WebSocketMessage) -> Void' (aka '(URLSessionWebSocketTask.Message) -> ()'); this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
156 | let onError: (Error) -> Void
157 |
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:156:9: warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
154 | let client: Client
155 | let onMessage: (WebSocketMessage) -> Void
156 | let onError: (Error) -> Void
| |- warning: stored property 'onError' of 'Sendable'-conforming class 'WebSocketConnection' has non-sendable type '(any Error) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
157 |
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:160:17: warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
158 | private let queue = DispatchQueue(label: "ai.fal.WebSocketConnection.\(UUID().uuidString)")
159 | private let session = URLSession(configuration: .default)
160 | private var enqueuedMessage: WebSocketMessage? = nil
| `- warning: stored property 'enqueuedMessage' of 'Sendable'-conforming class 'WebSocketConnection' is mutable; this is an error in the Swift 6 language mode
161 | private var task: URLSessionWebSocketTask?
162 | private var token: String?
/Users/admin/builder/spi-builder-workspace/Sources/FalClient/Realtime.swift:329:5: warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
327 | }
328 |
329 | var connectionPool: [String: WebSocketConnection] = [:]
| |- warning: var 'connectionPool' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'connectionPool' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make var 'connectionPool' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
330 |
331 | /// The real-time client contract.
Build complete! (9.70s)
warning: 'nimble': 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/Nimble/Sources/Nimble/PrivacyInfo.xcprivacy
Build complete.
{
"dependencies" : [
{
"identity" : "swift-msgpack",
"requirement" : {
"range" : [
{
"lower_bound" : "0.3.3",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/nnabeyang/swift-msgpack.git"
},
{
"identity" : "quick",
"requirement" : {
"range" : [
{
"lower_bound" : "7.3.0",
"upper_bound" : "8.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Quick.git"
},
{
"identity" : "nimble",
"requirement" : {
"range" : [
{
"lower_bound" : "13.0.0",
"upper_bound" : "14.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/Quick/Nimble.git"
}
],
"manifest_display_name" : "FalClient",
"name" : "FalClient",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "15.0"
},
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "maccatalyst",
"version" : "15.0"
},
{
"name" : "tvos",
"version" : "15.0"
},
{
"name" : "watchos",
"version" : "8.0"
}
],
"products" : [
{
"name" : "FalClient",
"targets" : [
"FalClient"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "FalClientTests",
"module_type" : "SwiftTarget",
"name" : "FalClientTests",
"path" : "Tests/FalClientTests",
"product_dependencies" : [
"Quick",
"Nimble"
],
"sources" : [
"UtilitySpec.swift"
],
"target_dependencies" : [
"FalClient"
],
"type" : "test"
},
{
"c99name" : "FalClient",
"module_type" : "SwiftTarget",
"name" : "FalClient",
"path" : "Sources/FalClient",
"product_dependencies" : [
"SwiftMsgpack"
],
"product_memberships" : [
"FalClient"
],
"sources" : [
"Client+Codable.swift",
"Client+Config.swift",
"Client+Request.swift",
"Client.swift",
"FalClient.swift",
"FalError.swift",
"FalImage.swift",
"Payload.swift",
"Queue+Codable.swift",
"Queue.swift",
"QueueStatus.swift",
"Realtime+Codable.swift",
"Realtime.swift",
"Storage.swift",
"TimeInterval+Extensions.swift",
"Utility.swift"
],
"type" : "library"
}
],
"tools_version" : "5.7"
}
✅ Doc result (pending) reported
========================================
GenerateDocs
========================================
Generating docs at path: $PWD/.docs/fal-ai/fal-swift/0.5.6
Repository: fal-ai/fal-swift
Swift version used: 6.1
Target: FalClient
Extracting symbol information for 'FalClient'...
Finished extracting symbol information for 'FalClient'. (3.64s)
Building documentation for 'FalClient'...
Finished building documentation for 'FalClient' (0.22s)
Generated documentation archive at:
/Users/admin/builder/spi-builder-workspace/.docs/fal-ai/fal-swift/0.5.6
Fetching https://github.com/swiftlang/swift-docc-plugin from cache
Updating https://github.com/Quick/Nimble.git
Updating https://github.com/nnabeyang/swift-msgpack.git
Updating https://github.com/Quick/Quick.git
Updating https://github.com/mattgallagher/CwlCatchException.git
Updating https://github.com/mattgallagher/CwlPreconditionTesting.git
Fetched https://github.com/swiftlang/swift-docc-plugin from cache (0.46s)
Updated https://github.com/nnabeyang/swift-msgpack.git (0.50s)
Updated https://github.com/Quick/Nimble.git (0.50s)
Updated https://github.com/mattgallagher/CwlCatchException.git (0.64s)
Updated https://github.com/mattgallagher/CwlPreconditionTesting.git (0.64s)
Updated https://github.com/Quick/Quick.git (0.64s)
Computing version for https://github.com/Quick/Nimble.git
Computed https://github.com/Quick/Nimble.git at 13.2.0 (1.62s)
Computing version for https://github.com/Quick/Quick.git
Computed https://github.com/Quick/Quick.git at 7.3.1 (0.58s)
Computing version for https://github.com/nnabeyang/swift-msgpack.git
Computed https://github.com/nnabeyang/swift-msgpack.git at 0.3.3 (0.59s)
Computing version for https://github.com/mattgallagher/CwlPreconditionTesting.git
Computed https://github.com/mattgallagher/CwlPreconditionTesting.git at 2.2.0 (0.60s)
Computing version for https://github.com/mattgallagher/CwlCatchException.git
Computed https://github.com/mattgallagher/CwlCatchException.git at 2.1.2 (0.59s)
Computing version for https://github.com/swiftlang/swift-docc-plugin
Computed https://github.com/swiftlang/swift-docc-plugin at 1.4.3 (0.62s)
Fetching https://github.com/swiftlang/swift-docc-symbolkit from cache
Fetched https://github.com/swiftlang/swift-docc-symbolkit from cache (0.75s)
Computing version for https://github.com/swiftlang/swift-docc-symbolkit
Computed https://github.com/swiftlang/swift-docc-symbolkit at 1.0.0 (1.41s)
Creating working copy for https://github.com/swiftlang/swift-docc-plugin
Working copy of https://github.com/swiftlang/swift-docc-plugin resolved at 1.4.3
Creating working copy for https://github.com/swiftlang/swift-docc-symbolkit
Working copy of https://github.com/swiftlang/swift-docc-symbolkit resolved at 1.0.0
Building for debugging...
[0/8] Write sources
[2/8] Write snippet-extract-tool-entitlement.plist
[2/8] Write sources
[4/8] Write swift-version-2F0A5646E1D333AE.txt
[6/53] Compiling Snippets SnippetParser.swift
[7/53] Compiling Snippets Snippet.swift
[8/53] Emitting module Snippets
[9/53] Compiling SymbolKit Relationship.swift
[10/53] Compiling SymbolKit RelationshipKind.swift
[11/53] Compiling SymbolKit SourceOrigin.swift
[12/53] Compiling SymbolKit GenericConstraints.swift
[13/53] Compiling SymbolKit Swift.swift
[14/57] Compiling SymbolKit DeclarationFragments.swift
[15/57] Compiling SymbolKit Fragment.swift
[16/57] Compiling SymbolKit FragmentKind.swift
[17/57] Compiling SymbolKit FunctionParameter.swift
[18/57] Compiling SymbolKit FunctionSignature.swift
[19/57] Compiling SymbolKit SourceRange.swift
[20/57] Compiling SymbolKit Metadata.swift
[21/57] Compiling SymbolKit Module.swift
[22/57] Compiling SymbolKit OperatingSystem.swift
[23/57] Compiling SymbolKit Platform.swift
[24/57] Compiling SymbolKit Mixin+Equals.swift
[25/57] Compiling SymbolKit Mixin+Hash.swift
[26/57] Compiling SymbolKit Mixin.swift
[27/57] Compiling SymbolKit LineList.swift
[28/57] Compiling SymbolKit Position.swift
[29/57] Compiling SymbolKit SemanticVersion.swift
[30/57] Compiling SymbolKit AccessControl.swift
[31/57] Compiling SymbolKit Availability.swift
[32/57] Compiling SymbolKit AvailabilityItem.swift
[33/57] Compiling SymbolKit Domain.swift
[34/57] Compiling SymbolKit Names.swift
[35/57] Compiling SymbolKit SPI.swift
[36/57] Compiling SymbolKit Snippet.swift
[37/57] Compiling SymbolKit Extension.swift
[38/57] Emitting module SymbolKit
[39/57] Compiling SymbolKit Identifier.swift
[40/57] Compiling SymbolKit KindIdentifier.swift
[41/57] Compiling SymbolKit Location.swift
[42/57] Compiling SymbolKit Mutability.swift
[43/57] Compiling SymbolKit GenericConstraint.swift
[44/57] Compiling SymbolKit GenericParameter.swift
[45/57] Compiling SymbolKit Generics.swift
[46/57] Compiling SymbolKit Namespace.swift
[47/57] Compiling SymbolKit Symbol.swift
[48/57] Compiling SymbolKit SymbolKind.swift
[49/57] Compiling SymbolKit SymbolGraph.swift
[50/57] Compiling SymbolKit GraphCollector.swift
[51/57] Compiling SymbolKit UnifiedSymbol+Encodable.swift
[52/57] Compiling SymbolKit UnifiedSymbol.swift
[53/57] Compiling SymbolKit UnifiedSymbolGraph+Encodable.swift
[54/57] Compiling SymbolKit UnifiedSymbolGraph.swift
[55/61] Compiling snippet_extract URL+Status.swift
[56/61] Compiling snippet_extract SymbolGraph+Snippet.swift
[57/61] Compiling snippet_extract SnippetBuildCommand.swift
[58/61] Emitting module snippet_extract
[58/61] Write Objects.LinkFileList
[59/61] Linking snippet-extract-tool
[60/61] Applying snippet-extract-tool
Build of product 'snippet-extract' complete! (4.34s)
Building for debugging...
[0/1] Write swift-version-2F0A5646E1D333AE.txt
[2/7] Compiling SwiftMsgpack MsgPackTimestamp.swift
[3/7] Compiling SwiftMsgpack AnyCodable.swift
[4/7] Compiling SwiftMsgpack MsgPackDecoder.swift
[5/7] Emitting module SwiftMsgpack
[6/7] Compiling SwiftMsgpack MsgPackEncoder.swift
[7/7] Compiling SwiftMsgpack MsgPackScanner.swift
[8/23] Compiling FalClient Queue+Codable.swift
[9/23] Compiling FalClient Queue.swift
[10/24] Compiling FalClient Client+Codable.swift
[11/24] Compiling FalClient Client+Config.swift
[12/24] Emitting module FalClient
[13/24] Compiling FalClient Client+Request.swift
[14/24] Compiling FalClient Client.swift
[15/24] Compiling FalClient FalClient.swift
[16/24] Compiling FalClient FalError.swift
[17/24] Compiling FalClient FalImage.swift
[18/24] Compiling FalClient Payload.swift
[19/24] Compiling FalClient QueueStatus.swift
[20/24] Compiling FalClient Realtime+Codable.swift
[21/24] Compiling FalClient Storage.swift
[22/24] Compiling FalClient Realtime.swift
[23/24] Compiling FalClient TimeInterval+Extensions.swift
[24/24] Compiling FalClient Utility.swift
Build of target: 'FalClient' complete! (1.65s)
490
4 /Users/admin/builder/spi-builder-workspace/.docs/fal-ai/fal-swift/0.5.6
✅ Doc result (uploading) reported
========================================
SyncDocs
========================================
Doc archive source directory: $PWD/.docs/fal-ai/fal-swift/0.5.6
File count: 490
Doc size: 4.0MB
Preparing doc bundle ...
Uploading prod-fal-ai-fal-swift-0.5.6-22068279.zip to s3://spi-docs-inbox/prod-fal-ai-fal-swift-0.5.6-22068279.zip
Copying... [16%]
Copying... [24%]
Copying... [32%]
Copying... [41%]
Copying... [57%]
Copying... [65%]
Copying... [73%]
Copying... [81%]
Copying... [97%]
Copying... [100%]
Done.