Build Information
Successful build of XMTPiOS, reference main (6b990f
), with Swift 6.1 for macOS (SPM) on 26 Aug 2025 03:03:37 UTC.
Swift 6 data race errors: 13
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
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Conversations.swift:38:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConversationStreamCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
36 |
37 | final class ConversationStreamCallback: FfiConversationCallback {
38 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConversationStreamCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
39 | let callback: (FfiConversation) -> Void
40 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Conversations.swift:39:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConversationStreamCallback' has non-sendable type '(FfiConversation) -> Void'; this is an error in the Swift 6 language mode
37 | final class ConversationStreamCallback: FfiConversationCallback {
38 | let onCloseCallback: () -> Void
39 | let callback: (FfiConversation) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConversationStreamCallback' has non-sendable type '(FfiConversation) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
40 |
41 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/XMTPEnvironment.swift:17:20: warning: static property 'customLocalAddress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 |
16 | // Optional override for the local environment
17 | public static var customLocalAddress: String?
| |- warning: static property 'customLocalAddress' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'customLocalAddress' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'customLocalAddress' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 |
19 | var address: String {
[318/363] Compiling XMTPiOS URL.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[319/363] Compiling XMTPiOS Group.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[320/363] Compiling XMTPiOS KeyUtil.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[321/363] Compiling XMTPiOS ArchiveOptions.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[322/363] Compiling XMTPiOS ConversationDebugInfo.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[323/363] Compiling XMTPiOS DecodedMessage.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[324/363] Compiling XMTPiOS DisappearingMessageSettings.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[325/363] Compiling XMTPiOS GroupMembershipResult.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:13:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
11 | }
12 |
13 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
14 | let callback: (LibXMTP.FfiMessage) -> Void
15 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:14:6: warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
12 |
13 | let onCloseCallback: () -> Void
14 | let callback: (LibXMTP.FfiMessage) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'MessageCallback' has non-sendable type '(FfiMessage) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
15 |
16 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:421:6: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
419 |
420 | continuation.onTermination = { @Sendable reason in
421 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
422 | }
423 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:427:5: warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
31 | }
32 |
33 | public struct Group: Identifiable, Equatable, Hashable {
| `- note: consider making struct 'Group' conform to the 'Sendable' protocol
34 | var ffiGroup: FfiConversation
35 | var ffiLastMessage: FfiMessage? = nil
:
425 | continuation.onTermination = { @Sendable reason in
426 | task.cancel()
427 | self.streamHolder.stream?.end()
| `- warning: capture of 'self' with non-sendable type 'Group' in a '@Sendable' closure; this is an error in the Swift 6 language mode
428 | }
429 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:562:14: warning: no 'async' operations occur within 'await' expression
560 | options.direction = direction
561 |
562 | return try await ffiGroup.findMessagesWithReactions(opts: options)
| `- warning: no 'async' operations occur within 'await' expression
563 | .compactMap {
564 | ffiMessageWithReactions in
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/KeyUtil.swift:121:22: warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
119 | outputWithRecidPtr.deallocate()
120 | }
121 | outputWithRecidPtr.assign(from: outputPtr, count: 64)
| |- warning: 'assign(from:count:)' is deprecated: renamed to 'update(from:count:)'
| `- note: use 'update(from:count:)' instead
122 | outputWithRecidPtr.advanced(by: 64).pointee = UInt8(recid)
123 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Group.swift:401:29: 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
399 | {
400 | AsyncThrowingStream { continuation in
401 | let task = Task.detached {
| `- 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
402 | self.streamHolder.stream = await self.ffiGroup.stream(
403 | messageCallback: MessageCallback {
:
413 | }
414 | } onClose: {
415 | onClose?()
| `- note: closure captures 'onClose' which is accessible to code in the current task
416 | continuation.finish()
417 | }
[326/363] Compiling XMTPiOS signature.pb.swift
[327/363] Compiling XMTPiOS signed_payload.pb.swift
[328/363] Compiling XMTPiOS mls.pb.swift
[329/363] Compiling XMTPiOS intents.pb.swift
[330/363] Compiling XMTPiOS association.pb.swift
[331/363] Compiling XMTPiOS credential.pb.swift
[332/363] Compiling XMTPiOS group_membership.pb.swift
[333/363] Compiling XMTPiOS Client.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[334/363] Compiling XMTPiOS CodecRegistry.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[335/363] Compiling XMTPiOS AttachmentCodec.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[336/363] Compiling XMTPiOS ContentCodec.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[337/363] Compiling XMTPiOS ContentTypeID.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[338/363] Compiling XMTPiOS EncryptedEncodedContent.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[339/363] Compiling XMTPiOS GroupUpdatedCodec.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[340/363] Compiling XMTPiOS MultiRemoteAttachmentCodec.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:133:13: warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
131 | client: self, ffiClient: ffiClient)
132 |
133 | static var codecRegistry = CodecRegistry()
| |- warning: static property 'codecRegistry' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'codecRegistry' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'codecRegistry' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
134 |
135 | public static func register(codec: any ContentCodec) {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:302:7: warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
300 | let alias = "xmtp-\(options.api.env.rawValue)-\(inboxId).db3"
301 | var dbURL = directoryURL.appendingPathComponent(alias).path
302 | var fileExists = FileManager.default.fileExists(atPath: dbURL)
| `- warning: variable 'fileExists' was never mutated; consider changing to 'let' constant
303 |
304 | if !fileExists {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:370:4: warning: no calls to throwing functions occur within 'try' expression
368 | // Check for an existing connected client
369 | if let cached = await apiCache.getClient(forKey: cacheKey),
370 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
371 | {
372 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:393:4: warning: no calls to throwing functions occur within 'try' expression
391 | // Check for an existing connected client
392 | if let cached = await apiCache.getSyncClient(forKey: cacheKey),
393 | try await LibXMTP.isConnected(api: cached)
| `- warning: no calls to throwing functions occur within 'try' expression
394 | {
395 | return cached
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:613:36: warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
611 | recoveryAccount: SigningKey, identityToRemove: PublicIdentity
612 | ) async throws {
613 | let signatureRequest = try await ffiRevokeIdentity(
| `- warning: 'ffiRevokeIdentity(identityToRemove:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `removeIdentity()` instead.
614 | identityToRemove: identityToRemove)
615 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:619:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
617 | for: signatureRequest.ffiSignatureRequest,
618 | signingKey: recoveryAccount)
619 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
620 | signatureRequest: signatureRequest)
621 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:629:36: warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
627 | public func revokeAllOtherInstallations(signingKey: SigningKey) async throws
628 | {
629 | let signatureRequest = try await ffiRevokeAllOtherInstallations()
| `- warning: 'ffiRevokeAllOtherInstallations()' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeAllOtherInstallations()` instead.
630 | do {
631 | try await Client.handleSignature(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:634:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
632 | for: signatureRequest.ffiSignatureRequest,
633 | signingKey: signingKey)
634 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
635 | signatureRequest: signatureRequest)
636 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:646:36: warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
644 | ) async throws {
645 | let installations = installationIds.map { $0.hexToData }
646 | let signatureRequest = try await ffiRevokeInstallations(
| `- warning: 'ffiRevokeInstallations(ids:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `revokeInstallations()` instead.
647 | ids: installations)
648 | do {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:652:14: warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
650 | for: signatureRequest.ffiSignatureRequest,
651 | signingKey: signingKey)
652 | try await ffiApplySignatureRequest(
| `- warning: 'ffiApplySignatureRequest(signatureRequest:)' is deprecated: This function is delicate and should be used with caution.
Should only be used if trying to manage the signature flow independently;
otherwise use `addAccount()`, `removeAccount()`, or `revoke()` instead.
653 | signatureRequest: signatureRequest)
654 | } catch {
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:679:7: warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
677 |
678 | public func deleteLocalDatabase() throws {
679 | try dropLocalDatabaseConnection()
| `- warning: 'dropLocalDatabaseConnection()' is deprecated: This function is delicate and should be used with caution. App will error if database not properly reconnected. See: reconnectLocalDatabase()
680 | let fm = FileManager.default
681 | try fm.removeItem(atPath: dbPath)
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:1072:5: warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1070 | do {
1071 | deactivatePersistentLibXMTPLogWriter()
1072 | } catch {
| `- warning: 'catch' block is unreachable because no errors are thrown in 'do' block
1073 | // Log writer might not be active, continue with deletion
1074 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Codecs/GroupUpdatedCodec.swift:32:14: warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
30 |
31 | public func decode(content: EncodedContent) throws -> GroupUpdated {
32 | return try GroupUpdated(serializedData: content.content)
| |- warning: 'init(serializedData:extensions:partial:options:)' is deprecated: replaced by 'init(serializedBytes:extensions:partial:options:)'
| `- note: use 'init(serializedBytes:extensions:partial:options:)' instead
33 | }
34 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:127:53: warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
125 | ffiClient: ffiClient)
126 |
127 | public lazy var preferences: PrivatePreferences = .init(
| |- warning: sending 'self' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'self' to actor-isolated callee risks causing data races between actor-isolated and task-isolated uses
128 | client: self, ffiClient: ffiClient)
129 |
[341/363] Compiling XMTPiOS conversation_reference.pb.swift
[342/363] Compiling XMTPiOS ecies.pb.swift
[343/363] Compiling XMTPiOS frames.pb.swift
[344/363] Compiling XMTPiOS invitation.pb.swift
[345/363] Compiling XMTPiOS message.pb.swift
[346/363] Compiling XMTPiOS private_key.pb.swift
[347/363] Compiling XMTPiOS private_preferences.pb.swift
[348/363] Compiling XMTPiOS public_key.pb.swift
[349/363] Compiling XMTPiOS group_metadata.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[350/363] Compiling XMTPiOS group_mutable_metadata.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[351/363] Compiling XMTPiOS group_permissions.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[352/363] Compiling XMTPiOS transcript_messages.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[353/363] Compiling XMTPiOS XMTPPush.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[354/363] Compiling XMTPiOS service.connect.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[355/363] Compiling XMTPiOS service.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Push/XMTPPush.swift:127:20: warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
125 | #else
126 | public struct XMTPPush {
127 | public static var shared = XMTPPush()
| |- warning: static property 'shared' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'shared' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'shared' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
128 | private init() {
129 | fatalError("XMTPPush not available")
[356/363] Compiling XMTPiOS PrivatePreferences.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[357/363] Compiling XMTPiOS keystore.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[358/363] Compiling XMTPiOS authn.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[359/363] Compiling XMTPiOS message_api.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[360/363] Compiling XMTPiOS ciphertext.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[361/363] Compiling XMTPiOS composite.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[362/363] Compiling XMTPiOS contact.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[363/363] Compiling XMTPiOS content.pb.swift
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:168:6: warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
166 |
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:169:6: warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
167 | final class ConsentCallback: FfiConsentCallback {
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '([FfiConsent]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
170 | let onCloseCallback: () -> Void
171 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:170:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
168 | let client: Client
169 | let callback: ([FfiConsent]) -> Void
170 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'ConsentCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
171 |
172 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:195:6: warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
193 |
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
| `- warning: stored property 'client' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type 'Client'; this is an error in the Swift 6 language mode
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/Client.swift:113:20: note: class 'Client' does not conform to the 'Sendable' protocol
111 | public typealias InboxId = String
112 |
113 | public final class Client {
| `- note: class 'Client' does not conform to the 'Sendable' protocol
114 | public let inboxID: InboxId
115 | public let libXMTPVersion: String = getVersionInfo()
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:196:6: warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
194 | final class PreferenceCallback: FfiPreferenceCallback {
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
| |- warning: stored property 'callback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '([FfiPreferenceUpdate]) -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
197 | let onCloseCallback: () -> Void
198 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:197:6: warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
195 | let client: Client
196 | let callback: ([FfiPreferenceUpdate]) -> Void
197 | let onCloseCallback: () -> Void
| |- warning: stored property 'onCloseCallback' of 'Sendable'-conforming class 'PreferenceCallback' has non-sendable type '() -> Void'; this is an error in the Swift 6 language mode
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
198 |
199 | init(
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:77:23: warning: result of call to 'syncPreferences()' is unused
75 |
76 | public func sync() async throws {
77 | try await ffiClient.syncPreferences()
| `- warning: result of call to 'syncPreferences()' is unused
78 | }
79 |
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:142:24: warning: immutable value 'key' was never used; consider replacing with '_' or removing it
140 | }
141 | for preference in records {
142 | if case .hmac(let key) = preference {
| `- warning: immutable value 'key' was never used; consider replacing with '_' or removing it
143 | continuation.yield(.hmac_keys)
144 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:107:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
89 | -> AsyncThrowingStream<ConsentRecord, Error>
90 | {
91 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
92 | let ffiStreamActor = FfiStreamActor()
93 |
:
105 | }
106 | } onClose: {
107 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
108 | continuation.finish()
109 | }
/Users/admin/builder/spi-builder-workspace/Sources/XMTPiOS/PrivatePreferences.swift:147:5: warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
127 | -> AsyncThrowingStream<PreferenceType, Error>
128 | {
129 | AsyncThrowingStream { continuation in
| `- note: access can happen concurrently
130 | let ffiStreamActor = FfiStreamActor()
131 |
:
145 | }
146 | } onClose: {
147 | onClose?()
| |- warning: sending 'onClose' risks causing data races; this is an error in the Swift 6 language mode
| `- note: 'self'-isolated 'onClose' is captured by a actor-isolated closure. actor-isolated uses in closure may race against later nonisolated uses
148 | continuation.finish()
149 | }
[364/365] Compiling XMTPTestHelpers TestHelpers.swift
[365/365] Emitting module XMTPTestHelpers
Build complete! (35.76s)
warning: 'libxmtp-swift': 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/libxmtp-swift/Sources/LibXMTP/libxmtp-version.txt
Build complete.
{
"dependencies" : [
{
"identity" : "csecp256k1.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.2.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tesseract-one/CSecp256k1.swift.git"
},
{
"identity" : "connect-swift",
"requirement" : {
"exact" : [
"1.0.0"
]
},
"type" : "sourceControl",
"url" : "https://github.com/bufbuild/connect-swift"
},
{
"identity" : "swift-docc-plugin",
"requirement" : {
"range" : [
{
"lower_bound" : "1.4.3",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-docc-plugin.git"
},
{
"identity" : "cryptoswift",
"requirement" : {
"range" : [
{
"lower_bound" : "1.8.4",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/krzyzanowskim/CryptoSwift.git"
},
{
"identity" : "libxmtp-swift",
"requirement" : {
"exact" : [
"4.4.0"
]
},
"type" : "sourceControl",
"url" : "https://github.com/xmtp/libxmtp-swift.git"
}
],
"manifest_display_name" : "XMTPiOS",
"name" : "XMTPiOS",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "ios",
"version" : "14.0"
},
{
"name" : "macos",
"version" : "11.0"
}
],
"products" : [
{
"name" : "XMTPiOS",
"targets" : [
"XMTPiOS"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "XMTPTestHelpers",
"targets" : [
"XMTPTestHelpers"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "XMTPiOS",
"module_type" : "SwiftTarget",
"name" : "XMTPiOS",
"path" : "Sources/XMTPiOS",
"product_dependencies" : [
"CSecp256k1",
"Connect",
"LibXMTP",
"CryptoSwift"
],
"product_memberships" : [
"XMTPiOS",
"XMTPTestHelpers"
],
"sources" : [
"Client.swift",
"CodecRegistry.swift",
"Codecs/AttachmentCodec.swift",
"Codecs/ContentCodec.swift",
"Codecs/ContentTypeID.swift",
"Codecs/EncryptedEncodedContent.swift",
"Codecs/GroupUpdatedCodec.swift",
"Codecs/MultiRemoteAttachmentCodec.swift",
"Codecs/ReactionCodec.swift",
"Codecs/ReactionV2Codec.swift",
"Codecs/ReadReceiptCodec.swift",
"Codecs/RemoteAttachmentCodec.swift",
"Codecs/ReplyCodec.swift",
"Codecs/TextCodec.swift",
"Codecs/TransactionReferenceCodec.swift",
"Conversation.swift",
"Conversations.swift",
"Crypto.swift",
"Dm.swift",
"EncodedContentCompression.swift",
"Extensions/Data.swift",
"Extensions/Date.swift",
"Extensions/Ffi.swift",
"Extensions/String.swift",
"Extensions/URL.swift",
"Group.swift",
"KeyUtil.swift",
"Libxmtp/ArchiveOptions.swift",
"Libxmtp/ConversationDebugInfo.swift",
"Libxmtp/DecodedMessage.swift",
"Libxmtp/DisappearingMessageSettings.swift",
"Libxmtp/GroupMembershipResult.swift",
"Libxmtp/InboxState.swift",
"Libxmtp/Installation.swift",
"Libxmtp/Member.swift",
"Libxmtp/PermissionPolicySet.swift",
"Libxmtp/PublicIdentity.swift",
"Libxmtp/SignatureRequest.swift",
"Libxmtp/XMTPDebugInformation.swift",
"Messages/PrivateKey.swift",
"PrivatePreferences.swift",
"Proto/keystore_api/v1/keystore.pb.swift",
"Proto/message_api/v1/authn.pb.swift",
"Proto/message_api/v1/message_api.pb.swift",
"Proto/message_contents/ciphertext.pb.swift",
"Proto/message_contents/composite.pb.swift",
"Proto/message_contents/contact.pb.swift",
"Proto/message_contents/content.pb.swift",
"Proto/message_contents/conversation_reference.pb.swift",
"Proto/message_contents/ecies.pb.swift",
"Proto/message_contents/frames.pb.swift",
"Proto/message_contents/invitation.pb.swift",
"Proto/message_contents/message.pb.swift",
"Proto/message_contents/private_key.pb.swift",
"Proto/message_contents/private_preferences.pb.swift",
"Proto/message_contents/public_key.pb.swift",
"Proto/message_contents/signature.pb.swift",
"Proto/message_contents/signed_payload.pb.swift",
"Proto/mls/api/v1/mls.pb.swift",
"Proto/mls/database/intents.pb.swift",
"Proto/mls/message_contents/association.pb.swift",
"Proto/mls/message_contents/credential.pb.swift",
"Proto/mls/message_contents/group_membership.pb.swift",
"Proto/mls/message_contents/group_metadata.pb.swift",
"Proto/mls/message_contents/group_mutable_metadata.pb.swift",
"Proto/mls/message_contents/group_permissions.pb.swift",
"Proto/mls/message_contents/transcript_messages.pb.swift",
"Push/XMTPPush.swift",
"Push/service.connect.swift",
"Push/service.pb.swift",
"SendOptions.swift",
"SignedData.swift",
"SigningKey.swift",
"Topic.swift",
"Util.swift",
"XMTPEnvironment.swift",
"XMTPLogger.swift"
],
"type" : "library"
},
{
"c99name" : "XMTPTests",
"module_type" : "SwiftTarget",
"name" : "XMTPTests",
"path" : "Tests/XMTPTests",
"sources" : [
"ArchiveTests.swift",
"AttachmentTests.swift",
"ClientTests.swift",
"CodecTests.swift",
"ConversationTests.swift",
"CryptoTests.swift",
"DmTests.swift",
"GroupPermissionsTests.swift",
"GroupTests.swift",
"HistorySyncTests.swift",
"MultiRemoteAttachmentTest.swift",
"PerformanceTests.swift",
"ReactionTests.swift",
"ReadReceiptTests.swift",
"RemoteAttachmentTest.swift",
"ReplyTests.swift",
"TransactionReferencesTests.swift"
],
"target_dependencies" : [
"XMTPiOS",
"XMTPTestHelpers"
],
"type" : "test"
},
{
"c99name" : "XMTPTestHelpers",
"module_type" : "SwiftTarget",
"name" : "XMTPTestHelpers",
"path" : "Sources/XMTPTestHelpers",
"product_memberships" : [
"XMTPTestHelpers"
],
"sources" : [
"TestHelpers.swift"
],
"target_dependencies" : [
"XMTPiOS"
],
"type" : "library"
}
],
"tools_version" : "5.6"
}
Done.