Build Information
Successful build of nostr-kit, reference 0.5.0 (f60503
), with Swift 6.1 for Linux on 27 Apr 2025 16:12:05 UTC.
Swift 6 data race errors: 1
Build Command
bash -c docker run --pull=always --rm -v "checkouts-4609320-1":/host -w "$PWD" registry.gitlab.com/finestructure/spi-images:basic-6.1-latest swift build --triple x86_64-unknown-linux-gnu -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 2>&1
Build Log
91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:99:35: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
97 | timeoutTask.cancel()
98 | // the upgrade succeeded. remove the initial request writer.
99 | channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
| `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 |
101 | })
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:106:32: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
| `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure
107 | }
108 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
[1416/1428] Compiling nostr WebSocket.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:44:7: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
42 | WebSocket.logger.error("failed to write initial HTTP upgrade request: \(error)")
43 | #endif
44 | context.fireErrorCaught(Relay.Error.WebSocket.UpgradeError.failedToWriteInitialRequest(error))
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
45 | }
46 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:127:30: warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
125 | hasher.update(string: self.requestKey)
126 | hasher.update(string: magicWebSocketGUID)
127 | let expectedAcceptValue = String(base64Encoding: hasher.finish())
| `- warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
128 |
129 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:147:74: warning: conformance of 'WebSocketFrameEncoder' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
145 | useHandlers.append(WebSocketProtocolErrorHandler())
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
| `- warning: conformance of 'WebSocketFrameEncoder' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
149 | ui(ch, ur)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOWebSocket/WebSocketFrameEncoder.swift:127:1: note: conformance of 'WebSocketFrameEncoder' to 'Sendable' has been explicitly marked unavailable here
125 |
126 | @available(*, unavailable)
127 | extension WebSocketFrameEncoder: Sendable {}
| `- note: conformance of 'WebSocketFrameEncoder' to 'Sendable' has been explicitly marked unavailable here
128 |
129 | extension ByteBuffer {
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:34: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:34: warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a '@Sendable' closure
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| `- warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a '@Sendable' closure
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelHandler.swift:20:17: note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
18 | ///
19 | /// You should _never_ implement this protocol directly. Please implement one of its sub-protocols.
20 | public protocol ChannelHandler: AnyObject {
| `- note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
21 | /// Called when this `ChannelHandler` is added to the `ChannelPipeline`.
22 | ///
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
1 | // (c) tanner silva 2023. all rights reserved.
2 |
3 | import NIOCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
4 | import NIOHTTP1
5 | import NIOWebSocket
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:75: warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| |- warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:149:6: warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
149 | ui(ch, ur)
| |- warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | }
151 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:83:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
81 | // schedule the next ping task
82 | self.autoPingTask = context.eventLoop.scheduleTask(in: interval) {
83 | if self.waitingOnPong != nil {
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
84 | #if DEBUG
85 | self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:88:6: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
86 | #endif
87 | // we never received a pong from our last ping, so the connection has timed out\
88 | context.fireErrorCaught(Relay.Error.WebSocket.connectionTimeout)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
89 | } else {
90 | self.sendPing(context: context).whenSuccess {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:85:127: warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to 'Sendable'; this is an error in the Swift 6 language mode
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
83 | if self.waitingOnPong != nil {
84 | #if DEBUG
85 | self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
| `- warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to 'Sendable'; this is an error in the Swift 6 language mode
86 | #endif
87 | // we never received a pong from our last ping, so the connection has timed out\
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:91:7: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
89 | } else {
90 | self.sendPing(context: context).whenSuccess {
91 | self.initiateAutoPing(context:context, interval: interval)
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
92 | }
93 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:91:37: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
89 | } else {
90 | self.sendPing(context: context).whenSuccess {
91 | self.initiateAutoPing(context:context, interval: interval)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
92 | }
93 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:120:6: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
118 | case .success:
119 | #if DEBUG
120 | self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
121 | #endif
122 | self.waitingOnPong = newPingID
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:122:27: warning: reference to captured var 'newPingID' in concurrently-executing code
120 | self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
121 | #endif
122 | self.waitingOnPong = newPingID
| `- warning: reference to captured var 'newPingID' in concurrently-executing code
123 | case .failure(let error):
124 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:226:5: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
224 | self.sendPing(context:context).whenFailure { initialPingFailure in
225 | #if DEBUG
226 | self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
227 | #endif
228 | context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:228:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
226 | self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
227 | #endif
228 | context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
229 | }
230 | self.initiateAutoPing(context: context, interval:self.configuration.timeouts.websocketConnectionTimeout)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:327:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
325 | switch $0 {
326 | case .success:
327 | self.logger.debug("sent pong.", metadata:["ping_id": "\(asArray.prefix(2))"])
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
328 | case .failure(let error):
329 | self.logger.error("failed to send pong: '\(error)'", metadata:["ping_id": "\(asArray.prefix(2))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:87:51: warning: type 'WebSocket.Handler' does not conform to the 'Sendable' protocol
85 | let catcher = Relay.Catcher()
86 | let relay = Relay(url:url, channel:channel, handler:relayHandler, catcher:catcher)
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
| `- warning: type 'WebSocket.Handler' does not conform to the 'Sendable' protocol
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:15:23: note: class 'Handler' does not conform to the 'Sendable' protocol
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:87:69: warning: type 'Relay.Handler' does not conform to the 'Sendable' protocol
85 | let catcher = Relay.Catcher()
86 | let relay = Relay(url:url, channel:channel, handler:relayHandler, catcher:catcher)
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
| `- warning: type 'Relay.Handler' does not conform to the 'Sendable' protocol
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Handler.swift:13:23: note: class 'Handler' does not conform to the 'Sendable' protocol
11 | /// - implements NIP-42 with automatic authentication
12 | /// - implements NIP-20 for handling the results of publishing events
13 | internal final class Handler:ChannelDuplexHandler, RemovableChannelHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
14 | internal typealias InboundIn = ByteBuffer
15 | internal typealias InboundOut = Message
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:87:83: warning: type 'Relay.Catcher' does not conform to the 'Sendable' protocol
85 | let catcher = Relay.Catcher()
86 | let relay = Relay(url:url, channel:channel, handler:relayHandler, catcher:catcher)
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
| `- warning: type 'Relay.Catcher' does not conform to the 'Sendable' protocol
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:6:23: note: class 'Catcher' does not conform to the 'Sendable' protocol
4 |
5 | extension Relay {
6 | internal final class Catcher:ChannelInboundHandler {
| `- note: class 'Catcher' does not conform to the 'Sendable' protocol
7 | #if DEBUG
8 | internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:89:15: warning: type 'Relay' does not conform to the 'Sendable' protocol
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
| `- warning: type 'Relay' does not conform to the 'Sendable' protocol
90 | })
91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:99:35: warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
97 | timeoutTask.cancel()
98 | // the upgrade succeeded. remove the initial request writer.
99 | channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
| `- warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
100 |
101 | })
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:104:104: warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
102 |
103 | // add the upgrade and initial request write handlers.
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
| `- warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:106:32: warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
| `- warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
107 | }
108 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:89:23: warning: capture of 'relay' with non-sendable type 'Relay' in a '@Sendable' closure
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
| `- warning: capture of 'relay' with non-sendable type 'Relay' in a '@Sendable' closure
90 | })
91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:99:35: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
97 | timeoutTask.cancel()
98 | // the upgrade succeeded. remove the initial request writer.
99 | channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
| `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 |
101 | })
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:106:32: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
| `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure
107 | }
108 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
[1417/1428] Compiling nostr BECH32.swift
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:44:7: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
42 | WebSocket.logger.error("failed to write initial HTTP upgrade request: \(error)")
43 | #endif
44 | context.fireErrorCaught(Relay.Error.WebSocket.UpgradeError.failedToWriteInitialRequest(error))
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
45 | }
46 |
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:127:30: warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
125 | hasher.update(string: self.requestKey)
126 | hasher.update(string: magicWebSocketGUID)
127 | let expectedAcceptValue = String(base64Encoding: hasher.finish())
| `- warning: 'init(base64Encoding:)' is deprecated: This API was unintentionally made public.
128 |
129 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:147:74: warning: conformance of 'WebSocketFrameEncoder' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
145 | useHandlers.append(WebSocketProtocolErrorHandler())
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
| `- warning: conformance of 'WebSocketFrameEncoder' to 'Sendable' is unavailable; this is an error in the Swift 6 language mode
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
149 | ui(ch, ur)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOWebSocket/WebSocketFrameEncoder.swift:127:1: note: conformance of 'WebSocketFrameEncoder' to 'Sendable' has been explicitly marked unavailable here
125 |
126 | @available(*, unavailable)
127 | extension WebSocketFrameEncoder: Sendable {}
| `- note: conformance of 'WebSocketFrameEncoder' to 'Sendable' has been explicitly marked unavailable here
128 |
129 | extension ByteBuffer {
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:34: warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| `- warning: type 'any ChannelHandler' does not conform to the 'Sendable' protocol
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:34: warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a '@Sendable' closure
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| `- warning: capture of 'uh' with non-sendable type '[any ChannelHandler]' in a '@Sendable' closure
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelHandler.swift:20:17: note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
18 | ///
19 | /// You should _never_ implement this protocol directly. Please implement one of its sub-protocols.
20 | public protocol ChannelHandler: AnyObject {
| `- note: protocol 'ChannelHandler' does not conform to the 'Sendable' protocol
21 | /// Called when this `ChannelHandler` is added to the `ChannelPipeline`.
22 | ///
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
1 | // (c) tanner silva 2023. all rights reserved.
2 |
3 | import NIOCore
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'NIOCore'
4 | import NIOHTTP1
5 | import NIOWebSocket
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:148:75: warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
146 | }
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
| |- warning: capture of 'upI' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
149 | ui(ch, ur)
150 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift:149:6: warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
147 | let upgradeFuture:EventLoopFuture<Void> = context.pipeline.addHandler(WebSocketFrameEncoder()).flatMap { [uh = useHandlers, chan = context.channel, upR = upgradeResponse, upI = self.upgradeInitiator] in
148 | context.pipeline.addHandlers(uh).flatMap { [ch = chan, ur = upR, ui = upI] in
149 | ui(ch, ur)
| |- warning: capture of 'ui' with non-sendable type '(any Channel, HTTPResponseHead) -> EventLoopFuture<Void>' in a '@Sendable' closure
| `- note: a function type must be marked '@Sendable' to conform to 'Sendable'
150 | }
151 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:83:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
81 | // schedule the next ping task
82 | self.autoPingTask = context.eventLoop.scheduleTask(in: interval) {
83 | if self.waitingOnPong != nil {
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
84 | #if DEBUG
85 | self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:88:6: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
86 | #endif
87 | // we never received a pong from our last ping, so the connection has timed out\
88 | context.fireErrorCaught(Relay.Error.WebSocket.connectionTimeout)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
89 | } else {
90 | self.sendPing(context: context).whenSuccess {
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:85:127: warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to 'Sendable'; this is an error in the Swift 6 language mode
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
83 | if self.waitingOnPong != nil {
84 | #if DEBUG
85 | self.logger.error("did not receive pong from previous ping sent. closing channel...", metadata:["prev_ping_id": "\(Array(self.waitingOnPong!.readableBytesView.prefix(3)))"])
| `- warning: implicit capture of 'self' requires that 'WebSocket.Handler' conforms to 'Sendable'; this is an error in the Swift 6 language mode
86 | #endif
87 | // we never received a pong from our last ping, so the connection has timed out\
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:91:7: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
89 | } else {
90 | self.sendPing(context: context).whenSuccess {
91 | self.initiateAutoPing(context:context, interval: interval)
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
92 | }
93 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:91:37: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
89 | } else {
90 | self.sendPing(context: context).whenSuccess {
91 | self.initiateAutoPing(context:context, interval: interval)
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
92 | }
93 | }
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:120:6: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
118 | case .success:
119 | #if DEBUG
120 | self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
121 | #endif
122 | self.waitingOnPong = newPingID
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:122:27: warning: reference to captured var 'newPingID' in concurrently-executing code
120 | self.logger.debug("sent ping.", metadata:["ping_id": "\(rdat.prefix(2))"])
121 | #endif
122 | self.waitingOnPong = newPingID
| `- warning: reference to captured var 'newPingID' in concurrently-executing code
123 | case .failure(let error):
124 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:226:5: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
224 | self.sendPing(context:context).whenFailure { initialPingFailure in
225 | #if DEBUG
226 | self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
227 | #endif
228 | context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:228:5: warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
226 | self.logger.error("failed to send initial ping. closing channel...", metadata:["error": "\(initialPingFailure)"])
227 | #endif
228 | context.fireErrorCaught(Relay.Error.WebSocket.failedToWriteInitialPing(initialPingFailure))
| `- warning: capture of 'context' with non-sendable type 'ChannelHandlerContext' in a '@Sendable' closure
229 | }
230 | self.initiateAutoPing(context: context, interval:self.configuration.timeouts.websocketConnectionTimeout)
/host/spi-builder-workspace/.build/checkouts/swift-nio/Sources/NIOCore/ChannelPipeline.swift:1786:20: note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1784 | /// at the right point in time. Often, the right behaviour is to react to an event and then forward it to the next
1785 | /// `ChannelHandler`.
1786 | public final class ChannelHandlerContext: ChannelInvoker {
| `- note: class 'ChannelHandlerContext' does not conform to the 'Sendable' protocol
1787 | // visible for ChannelPipeline to modify
1788 | fileprivate var next: Optional<ChannelHandlerContext>
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:327:8: warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
:
325 | switch $0 {
326 | case .success:
327 | self.logger.debug("sent pong.", metadata:["ping_id": "\(asArray.prefix(2))"])
| `- warning: capture of 'self' with non-sendable type 'WebSocket.Handler' in a '@Sendable' closure
328 | case .failure(let error):
329 | self.logger.error("failed to send pong: '\(error)'", metadata:["ping_id": "\(asArray.prefix(2))"])
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:87:51: warning: type 'WebSocket.Handler' does not conform to the 'Sendable' protocol
85 | let catcher = Relay.Catcher()
86 | let relay = Relay(url:url, channel:channel, handler:relayHandler, catcher:catcher)
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
| `- warning: type 'WebSocket.Handler' does not conform to the 'Sendable' protocol
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket + Handler.swift:15:23: note: class 'Handler' does not conform to the 'Sendable' protocol
13 | /// - abstracts away the fragmentation of WebSocket frames
14 | /// - abstracts away frame types. a default written frame type can be specified, however, all inbound data is treated the same (as a ByteBuffer)
15 | internal final class Handler:ChannelDuplexHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
16 | /// how long is the randomly generated ping data?
17 | private static let pingDataSize:size_t = 4
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:87:69: warning: type 'Relay.Handler' does not conform to the 'Sendable' protocol
85 | let catcher = Relay.Catcher()
86 | let relay = Relay(url:url, channel:channel, handler:relayHandler, catcher:catcher)
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
| `- warning: type 'Relay.Handler' does not conform to the 'Sendable' protocol
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Handler.swift:13:23: note: class 'Handler' does not conform to the 'Sendable' protocol
11 | /// - implements NIP-42 with automatic authentication
12 | /// - implements NIP-20 for handling the results of publishing events
13 | internal final class Handler:ChannelDuplexHandler, RemovableChannelHandler {
| `- note: class 'Handler' does not conform to the 'Sendable' protocol
14 | internal typealias InboundIn = ByteBuffer
15 | internal typealias InboundOut = Message
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:87:83: warning: type 'Relay.Catcher' does not conform to the 'Sendable' protocol
85 | let catcher = Relay.Catcher()
86 | let relay = Relay(url:url, channel:channel, handler:relayHandler, catcher:catcher)
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
| `- warning: type 'Relay.Catcher' does not conform to the 'Sendable' protocol
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Catcher.swift:6:23: note: class 'Catcher' does not conform to the 'Sendable' protocol
4 |
5 | extension Relay {
6 | internal final class Catcher:ChannelInboundHandler {
| `- note: class 'Catcher' does not conform to the 'Sendable' protocol
7 | #if DEBUG
8 | internal let logger = makeDefaultLogger(label:"nostr-net:relay-catcher", logLevel:.info)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:89:15: warning: type 'Relay' does not conform to the 'Sendable' protocol
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
| `- warning: type 'Relay' does not conform to the 'Sendable' protocol
90 | })
91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:99:35: warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
97 | timeoutTask.cancel()
98 | // the upgrade succeeded. remove the initial request writer.
99 | channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
| `- warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
100 |
101 | })
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:104:104: warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
102 |
103 | // add the upgrade and initial request write handlers.
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
| `- warning: type 'any NIOHTTPClientProtocolUpgrader' does not conform to the 'Sendable' protocol
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:106:32: warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
| `- warning: type 'WebSocket.InitialRequestWriter' does not conform to the 'Sendable' protocol
107 | }
108 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:89:23: warning: capture of 'relay' with non-sendable type 'Relay' in a '@Sendable' closure
87 | upgradePromise = channel.pipeline.addHandlers([webSocketHandler, relayHandler, catcher])
88 | upgradePromise.whenSuccess({
89 | wsPromise.succeed(relay)
| `- warning: capture of 'relay' with non-sendable type 'Relay' in a '@Sendable' closure
90 | })
91 |
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: consider making struct 'Relay' conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: consider making struct 'Relay' conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:99:35: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
97 | timeoutTask.cancel()
98 | // the upgrade succeeded. remove the initial request writer.
99 | channel.pipeline.removeHandler(initialRequestWriter, promise:nil)
| `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure; this is an error in the Swift 6 language mode
100 |
101 | })
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/WebSocket.swift:106:32: warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure
104 | return channel.pipeline.addHTTPClientHandlers(leftOverBytesStrategy:.forwardBytes, withClientUpgrade:config).flatMap {
105 | // the HTTP client handlers were added. now add the initial request writer.
106 | channel.pipeline.addHandler(initialRequestWriter)
| `- warning: capture of 'initialRequestWriter' with non-sendable type 'WebSocket.InitialRequestWriter' in a '@Sendable' closure
107 | }
108 | }
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift:9:23: note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
7 |
8 | /// writes the initial HTTP request to the channel. this is a channel handler that is removed after the request is written.
9 | internal final class InitialRequestWriter: ChannelInboundHandler, RemovableChannelHandler {
| `- note: class 'InitialRequestWriter' does not conform to the 'Sendable' protocol
10 | typealias InboundIn = HTTPClientResponsePart
11 | typealias OutboundOut = HTTPClientRequestPart
[1418/1428] Compiling nostr ByteBuffer.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1419/1428] Compiling nostr FlatDictionary.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1420/1428] Compiling nostr RandomBytes.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1421/1428] Compiling nostr SHA1.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1422/1428] Compiling nostr SHA256.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1423/1428] Compiling nostr bech32.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1424/1428] Compiling nostr nostr.swift
/host/spi-builder-workspace/Sources/nostr/Utils/Extensions/ByteBuffer.swift:5:1: warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
3 | import RAW
4 |
5 | extension UnsafeRawBufferPointer:RAW_encodable {
| |- warning: extension declares a conformance of imported type 'UnsafeRawBufferPointer' to imported protocol 'RAW_encodable'; this will not behave correctly if the owners of 'Swift' introduce this conformance in the future
| `- note: add '@retroactive' to silence this warning
6 | public func asRAW_val<R>(_ valFunc: (inout RAW.RAW_val) throws -> R) rethrows -> R {
7 | var raw = RAW_val(mv_size:self.count, mv_data:UnsafeMutableRawPointer(mutating:self.baseAddress))
[1425/1429] Wrapping AST for nostr for debugging
[1427/1437] Compiling nostr_cc KeyPair.swift
/host/spi-builder-workspace/Sources/nostr-cc/Extensions/KeyPair.swift:22:16: warning: string interpolation produces a debug description for a function value; did you mean to make this explicit?
20 | switch hex {
21 | case true:
22 | print(" \(secretKey.hexEncodedString)")
| | `- note: use 'String(describing:)' to silence this warning
| `- warning: string interpolation produces a debug description for a function value; did you mean to make this explicit?
23 | case false:
24 | print(" \(secretKey.nsecString())")
[1428/1438] Compiling nostr_cc nostr-cc.swift
[1429/1438] Compiling nostr_cc Colors.swift
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:13:16: warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | }
12 | fileprivate struct ANSIModifiers {
13 | static var bold = [1, 22]
| |- warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bold' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | static var blink = [5, 25]
15 | static var dim = [2, 22]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:14:16: warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | fileprivate struct ANSIModifiers {
13 | static var bold = [1, 22]
14 | static var blink = [5, 25]
| |- warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blink' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'blink' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | static var dim = [2, 22]
16 | static var italic = [2, 23]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:15:16: warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | static var bold = [1, 22]
14 | static var blink = [5, 25]
15 | static var dim = [2, 22]
| |- warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dim' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dim' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | static var italic = [2, 23]
17 | static var underline = [4, 24]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:16:16: warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | static var blink = [5, 25]
15 | static var dim = [2, 22]
16 | static var italic = [2, 23]
| |- warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'italic' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'italic' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var underline = [4, 24]
18 | static var inverse = [7, 27]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:17:16: warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | static var dim = [2, 22]
16 | static var italic = [2, 23]
17 | static var underline = [4, 24]
| |- warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'underline' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'underline' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var inverse = [7, 27]
19 | static var hidden = [8, 28]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:18:16: warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | static var italic = [2, 23]
17 | static var underline = [4, 24]
18 | static var inverse = [7, 27]
| |- warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'inverse' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'inverse' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | static var hidden = [8, 28]
20 | static var strikethrough = [9, 29]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:19:16: warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
17 | static var underline = [4, 24]
18 | static var inverse = [7, 27]
19 | static var hidden = [8, 28]
| |- warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'hidden' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'hidden' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 | static var strikethrough = [9, 29]
21 | }
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:20:16: warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 | static var inverse = [7, 27]
19 | static var hidden = [8, 28]
20 | static var strikethrough = [9, 29]
| |- warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'strikethrough' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'strikethrough' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | }
22 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:56:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
54 |
55 | // MARK: Normal text colors
56 | public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
| |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:57:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
55 | // MARK: Normal text colors
56 | public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
| |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'red' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:58:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
56 | public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
| |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'green' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:59:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
| |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'yellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:60:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
| |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'blue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:61:23: warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
| |- warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'magenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
63 | public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:62:23: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
| |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
64 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:63:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
63 | public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
| |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'white' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 | // MARK: Bright text colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:66:23: warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | // MARK: Bright text colors
66 | public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
| |- warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Black' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:67:23: warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
65 | // MARK: Bright text colors
66 | public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
| |- warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Red' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:68:23: warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
66 | public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
| |- warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Green' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:69:23: warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
| |- warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Yellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:70:23: warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
| |- warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Blue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:71:23: warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
| |- warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Magenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
73 | public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:72:23: warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
| |- warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
74 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:73:23: warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
73 | public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
| |- warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'White' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 |
75 | // MARK: Normal background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:76:23: warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
74 |
75 | // MARK: Normal background colors
76 | public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
| |- warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgBlack' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:77:23: warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
75 | // MARK: Normal background colors
76 | public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
| |- warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgRed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:78:23: warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
76 | public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
| |- warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgGreen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:79:23: warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
| |- warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgYellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:80:23: warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
| |- warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgBlue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:81:23: warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
| |- warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgMagenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
83 | public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:82:23: warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
| |- warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgCyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
84 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:83:23: warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
83 | public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
| |- warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgWhite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 |
85 | // MARK: Bright background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:86:23: warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
84 |
85 | // MARK: Bright background colors
86 | public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
| |- warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgBlack' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:87:23: warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
85 | // MARK: Bright background colors
86 | public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
| |- warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgRed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:88:23: warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
86 | public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
| |- warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgGreen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:89:23: warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
| |- warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgYellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:90:23: warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
| |- warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgBlue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:91:23: warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
| |- warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgMagenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
93 | public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:92:23: warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
| |- warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgCyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
93 | public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
94 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:93:23: warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
93 | public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
| |- warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgWhite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
94 |
95 | // MARK: Text modifiers
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:96:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
94 |
95 | // MARK: Text modifiers
96 | public static let bold = apply(style:ANSIModifiers.bold)
| |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
97 | public static let blink = apply(style:ANSIModifiers.blink)
98 | public static let dim = apply(style:ANSIModifiers.dim)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:97:23: warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
95 | // MARK: Text modifiers
96 | public static let bold = apply(style:ANSIModifiers.bold)
97 | public static let blink = apply(style:ANSIModifiers.blink)
| |- warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'blink' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
98 | public static let dim = apply(style:ANSIModifiers.dim)
99 | public static let italic = apply(style:ANSIModifiers.italic)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:98:23: warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
96 | public static let bold = apply(style:ANSIModifiers.bold)
97 | public static let blink = apply(style:ANSIModifiers.blink)
98 | public static let dim = apply(style:ANSIModifiers.dim)
| |- warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dim' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 | public static let italic = apply(style:ANSIModifiers.italic)
100 | public static let underline = apply(style:ANSIModifiers.underline)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:99:23: warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
97 | public static let blink = apply(style:ANSIModifiers.blink)
98 | public static let dim = apply(style:ANSIModifiers.dim)
99 | public static let italic = apply(style:ANSIModifiers.italic)
| |- warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'italic' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 | public static let underline = apply(style:ANSIModifiers.underline)
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:100:23: warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
98 | public static let dim = apply(style:ANSIModifiers.dim)
99 | public static let italic = apply(style:ANSIModifiers.italic)
100 | public static let underline = apply(style:ANSIModifiers.underline)
| |- warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'underline' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:101:23: warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
99 | public static let italic = apply(style:ANSIModifiers.italic)
100 | public static let underline = apply(style:ANSIModifiers.underline)
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
| |- warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'inverse' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
103 | public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:102:23: warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
100 | public static let underline = apply(style:ANSIModifiers.underline)
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
| |- warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'hidden' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
104 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:103:23: warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
103 | public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
| |- warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'strikethrough' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
104 | }
105 |
[1430/1438] Compiling nostr_cc String.swift
[1431/1438] Compiling nostr_cc Profile.swift
[1432/1438] Compiling nostr_cc CLI.swift
[1433/1438] Compiling nostr_cc CLI + Relay.swift
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:34:122: warning: type 'Relay' does not conform to the 'Sendable' protocol
32 | let readKey = try nostr.KeyPair.fromJSONEncodedPath(baseURL)
33 | let buildConf = nostr.Relay.Client.Configuration(authenticationKey:readKey)
34 | let relayConn = try nostr.Relay.connect(url:nostr.Relay.URL(url), configuration: buildConf, on:mainEventLoop.next()).wait()
| `- warning: type 'Relay' does not conform to the 'Sendable' protocol
35 |
36 | sleep(512)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: struct 'Relay' does not conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: struct 'Relay' does not conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:3:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'nostr'
1 | import ArgumentParser
2 | import NIO
3 | import nostr
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'nostr'
4 | import struct Foundation.URL
5 | import class Foundation.FileManager
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:34:9: warning: initialization of immutable value 'relayConn' was never used; consider replacing with assignment to '_' or removing it
32 | let readKey = try nostr.KeyPair.fromJSONEncodedPath(baseURL)
33 | let buildConf = nostr.Relay.Client.Configuration(authenticationKey:readKey)
34 | let relayConn = try nostr.Relay.connect(url:nostr.Relay.URL(url), configuration: buildConf, on:mainEventLoop.next()).wait()
| `- warning: initialization of immutable value 'relayConn' was never used; consider replacing with assignment to '_' or removing it
35 |
36 | sleep(512)
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:65:128: warning: type 'Relay' does not conform to the 'Sendable' protocol
63 | let readKey = try nostr.KeyPair.fromJSONEncodedPath(baseURL)
64 | let buildConf = nostr.Relay.Client.Configuration(authenticationKey:readKey)
65 | let relayConn = try await nostr.Relay.connect(url:nostr.Relay.URL(url), configuration: buildConf, on:mainEventLoop.next()).get()
| `- warning: type 'Relay' does not conform to the 'Sendable' protocol
66 |
67 | var unsignedEvent = nostr.Event.Unsigned(kind:nostr.Event.Kind.text_note)
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay.swift:9:15: note: struct 'Relay' does not conform to the 'Sendable' protocol
7 | import var NIOPosix.TCP_NODELAY
8 |
9 | public struct Relay {
| `- note: struct 'Relay' does not conform to the 'Sendable' protocol
10 |
11 | #if DEBUG
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:71:60: warning: type 'Relay.Publishing' does not conform to the 'Sendable' protocol
69 | let newEvent = try unsignedEvent.sign(to:nostr.Event.Signed.self, as:readKey)
70 | CLI.logger.info("posting event: \(newEvent.uid.description.prefix(8))")
71 | let result = try await relayConn.write(event:newEvent).get()
| `- warning: type 'Relay.Publishing' does not conform to the 'Sendable' protocol
72 | result.promise.futureResult.whenComplete { getResult in
73 | switch getResult {
/host/spi-builder-workspace/Sources/nostr/Network/NIO/Relay/Relay + Publishing.swift:9:16: note: struct 'Publishing' does not conform to the 'Sendable' protocol
7 | /// used to track track the OK response from a relay when publishing an event.
8 | /// - see nostr nip-20 for more details.
9 | public struct Publishing {
| `- note: struct 'Publishing' does not conform to the 'Sendable' protocol
10 | /// represents a direct response from the relay explaining the circumstances of the failed publish.
11 | public struct Failure:Swift.Error {
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:74:25: warning: immutable value 'event' was never used; consider replacing with '_' or removing it
72 | result.promise.futureResult.whenComplete { getResult in
73 | switch getResult {
74 | case .success(let event):
| `- warning: immutable value 'event' was never used; consider replacing with '_' or removing it
75 | CLI.logger.info("successfully posted event: \(newEvent.uid.description.prefix(8))")
76 | case .failure(let error):
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:75:54: warning: capture of 'newEvent' with non-sendable type 'Event.Signed' in a '@Sendable' closure
73 | switch getResult {
74 | case .success(let event):
75 | CLI.logger.info("successfully posted event: \(newEvent.uid.description.prefix(8))")
| `- warning: capture of 'newEvent' with non-sendable type 'Event.Signed' in a '@Sendable' closure
76 | case .failure(let error):
77 | print("event failed: \(error)")
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:27:16: note: struct 'Signed' does not conform to the 'Sendable' protocol
25 |
26 | /// represents an event whose contents are immutable after signing
27 | public struct Signed:NOSTR_event_signed {
| `- note: struct 'Signed' does not conform to the 'Sendable' protocol
28 | /// the unique identifier for the event
29 | public let uid:UID
/host/spi-builder-workspace/Sources/nostr-cc/CLI/CLI + Relay.swift:75:54: warning: implicit capture of 'newEvent' requires that 'Event.Signed' conforms to 'Sendable'; this is an error in the Swift 6 language mode
73 | switch getResult {
74 | case .success(let event):
75 | CLI.logger.info("successfully posted event: \(newEvent.uid.description.prefix(8))")
| `- warning: implicit capture of 'newEvent' requires that 'Event.Signed' conforms to 'Sendable'; this is an error in the Swift 6 language mode
76 | case .failure(let error):
77 | print("event failed: \(error)")
/host/spi-builder-workspace/Sources/nostr/Event/Event.swift:27:16: note: struct 'Signed' does not conform to the 'Sendable' protocol
25 |
26 | /// represents an event whose contents are immutable after signing
27 | public struct Signed:NOSTR_event_signed {
| `- note: struct 'Signed' does not conform to the 'Sendable' protocol
28 | /// the unique identifier for the event
29 | public let uid:UID
[1434/1438] Emitting module nostr_cc
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:13:16: warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
11 | }
12 | fileprivate struct ANSIModifiers {
13 | static var bold = [1, 22]
| |- warning: static property 'bold' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'bold' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
14 | static var blink = [5, 25]
15 | static var dim = [2, 22]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:14:16: warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
12 | fileprivate struct ANSIModifiers {
13 | static var bold = [1, 22]
14 | static var blink = [5, 25]
| |- warning: static property 'blink' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'blink' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'blink' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
15 | static var dim = [2, 22]
16 | static var italic = [2, 23]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:15:16: warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
13 | static var bold = [1, 22]
14 | static var blink = [5, 25]
15 | static var dim = [2, 22]
| |- warning: static property 'dim' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'dim' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'dim' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
16 | static var italic = [2, 23]
17 | static var underline = [4, 24]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:16:16: warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
14 | static var blink = [5, 25]
15 | static var dim = [2, 22]
16 | static var italic = [2, 23]
| |- warning: static property 'italic' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'italic' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'italic' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
17 | static var underline = [4, 24]
18 | static var inverse = [7, 27]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:17:16: warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
15 | static var dim = [2, 22]
16 | static var italic = [2, 23]
17 | static var underline = [4, 24]
| |- warning: static property 'underline' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'underline' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'underline' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
18 | static var inverse = [7, 27]
19 | static var hidden = [8, 28]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:18:16: warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
16 | static var italic = [2, 23]
17 | static var underline = [4, 24]
18 | static var inverse = [7, 27]
| |- warning: static property 'inverse' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'inverse' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'inverse' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
19 | static var hidden = [8, 28]
20 | static var strikethrough = [9, 29]
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:19:16: warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
17 | static var underline = [4, 24]
18 | static var inverse = [7, 27]
19 | static var hidden = [8, 28]
| |- warning: static property 'hidden' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'hidden' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'hidden' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
20 | static var strikethrough = [9, 29]
21 | }
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:20:16: warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
18 | static var inverse = [7, 27]
19 | static var hidden = [8, 28]
20 | static var strikethrough = [9, 29]
| |- warning: static property 'strikethrough' is not concurrency-safe because it is nonisolated global shared mutable state; this is an error in the Swift 6 language mode
| |- note: convert 'strikethrough' to a 'let' constant to make 'Sendable' shared state immutable
| |- note: add '@MainActor' to make static property 'strikethrough' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
21 | }
22 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:56:23: warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
54 |
55 | // MARK: Normal text colors
56 | public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
| |- warning: static property 'black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'black' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:57:23: warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
55 | // MARK: Normal text colors
56 | public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
| |- warning: static property 'red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'red' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:58:23: warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
56 | public static let black = apply(style:getColor(color:ANSIColorCode.black, mod: normalText))
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
| |- warning: static property 'green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'green' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:59:23: warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
57 | public static let red = apply(style:getColor(color:ANSIColorCode.red, mod: normalText))
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
| |- warning: static property 'yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'yellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:60:23: warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
58 | public static let green = apply(style:getColor(color:ANSIColorCode.green, mod: normalText))
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
| |- warning: static property 'blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'blue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:61:23: warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
59 | public static let yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: normalText))
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
| |- warning: static property 'magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'magenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
63 | public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:62:23: warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
60 | public static let blue = apply(style:getColor(color:ANSIColorCode.blue, mod: normalText))
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
| |- warning: static property 'cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'cyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
63 | public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
64 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:63:23: warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
61 | public static let magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: normalText))
62 | public static let cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: normalText))
63 | public static let white = apply(style:getColor(color:ANSIColorCode.white, mod: normalText))
| |- warning: static property 'white' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'white' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
64 |
65 | // MARK: Bright text colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:66:23: warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
64 |
65 | // MARK: Bright text colors
66 | public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
| |- warning: static property 'Black' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Black' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:67:23: warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
65 | // MARK: Bright text colors
66 | public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
| |- warning: static property 'Red' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Red' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:68:23: warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
66 | public static let Black = apply(style:getColor(color:ANSIColorCode.black, mod: brightText))
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
| |- warning: static property 'Green' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Green' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:69:23: warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
67 | public static let Red = apply(style:getColor(color:ANSIColorCode.red, mod: brightText))
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
| |- warning: static property 'Yellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Yellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:70:23: warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
68 | public static let Green = apply(style:getColor(color:ANSIColorCode.green, mod: brightText))
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
| |- warning: static property 'Blue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Blue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:71:23: warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
69 | public static let Yellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightText))
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
| |- warning: static property 'Magenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Magenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
73 | public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:72:23: warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
70 | public static let Blue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightText))
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
| |- warning: static property 'Cyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'Cyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
73 | public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
74 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:73:23: warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
71 | public static let Magenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightText))
72 | public static let Cyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightText))
73 | public static let White = apply(style:getColor(color:ANSIColorCode.white, mod: brightText))
| |- warning: static property 'White' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'White' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
74 |
75 | // MARK: Normal background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:76:23: warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
74 |
75 | // MARK: Normal background colors
76 | public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
| |- warning: static property 'bgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgBlack' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:77:23: warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
75 | // MARK: Normal background colors
76 | public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
| |- warning: static property 'bgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgRed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:78:23: warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
76 | public static let bgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: bg))
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
| |- warning: static property 'bgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgGreen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:79:23: warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
77 | public static let bgRed = apply(style:getColor(color:ANSIColorCode.red, mod: bg))
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
| |- warning: static property 'bgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgYellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:80:23: warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
78 | public static let bgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: bg))
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
| |- warning: static property 'bgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgBlue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:81:23: warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
79 | public static let bgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: bg))
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
| |- warning: static property 'bgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgMagenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
83 | public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:82:23: warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
80 | public static let bgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: bg))
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
| |- warning: static property 'bgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgCyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
83 | public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
84 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:83:23: warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
81 | public static let bgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: bg))
82 | public static let bgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: bg))
83 | public static let bgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: bg))
| |- warning: static property 'bgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bgWhite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
84 |
85 | // MARK: Bright background colors
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:86:23: warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
84 |
85 | // MARK: Bright background colors
86 | public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
| |- warning: static property 'BgBlack' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgBlack' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:87:23: warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
85 | // MARK: Bright background colors
86 | public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
| |- warning: static property 'BgRed' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgRed' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:88:23: warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
86 | public static let BgBlack = apply(style:getColor(color:ANSIColorCode.black, mod: brightBg))
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
| |- warning: static property 'BgGreen' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgGreen' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:89:23: warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
87 | public static let BgRed = apply(style:getColor(color:ANSIColorCode.red, mod: brightBg))
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
| |- warning: static property 'BgYellow' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgYellow' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:90:23: warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
88 | public static let BgGreen = apply(style:getColor(color:ANSIColorCode.green, mod: brightBg))
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
| |- warning: static property 'BgBlue' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgBlue' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:91:23: warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
89 | public static let BgYellow = apply(style:getColor(color:ANSIColorCode.yellow, mod: brightBg))
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
| |- warning: static property 'BgMagenta' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgMagenta' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
93 | public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:92:23: warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
90 | public static let BgBlue = apply(style:getColor(color:ANSIColorCode.blue, mod: brightBg))
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
| |- warning: static property 'BgCyan' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgCyan' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
93 | public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
94 |
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:93:23: warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
91 | public static let BgMagenta = apply(style:getColor(color:ANSIColorCode.magenta, mod: brightBg))
92 | public static let BgCyan = apply(style:getColor(color:ANSIColorCode.cyan, mod: brightBg))
93 | public static let BgWhite = apply(style:getColor(color:ANSIColorCode.white, mod: brightBg))
| |- warning: static property 'BgWhite' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'BgWhite' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
94 |
95 | // MARK: Text modifiers
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:96:23: warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
94 |
95 | // MARK: Text modifiers
96 | public static let bold = apply(style:ANSIModifiers.bold)
| |- warning: static property 'bold' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'bold' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
97 | public static let blink = apply(style:ANSIModifiers.blink)
98 | public static let dim = apply(style:ANSIModifiers.dim)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:97:23: warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
95 | // MARK: Text modifiers
96 | public static let bold = apply(style:ANSIModifiers.bold)
97 | public static let blink = apply(style:ANSIModifiers.blink)
| |- warning: static property 'blink' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'blink' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
98 | public static let dim = apply(style:ANSIModifiers.dim)
99 | public static let italic = apply(style:ANSIModifiers.italic)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:98:23: warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
96 | public static let bold = apply(style:ANSIModifiers.bold)
97 | public static let blink = apply(style:ANSIModifiers.blink)
98 | public static let dim = apply(style:ANSIModifiers.dim)
| |- warning: static property 'dim' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'dim' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
99 | public static let italic = apply(style:ANSIModifiers.italic)
100 | public static let underline = apply(style:ANSIModifiers.underline)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:99:23: warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
97 | public static let blink = apply(style:ANSIModifiers.blink)
98 | public static let dim = apply(style:ANSIModifiers.dim)
99 | public static let italic = apply(style:ANSIModifiers.italic)
| |- warning: static property 'italic' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'italic' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
100 | public static let underline = apply(style:ANSIModifiers.underline)
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:100:23: warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
98 | public static let dim = apply(style:ANSIModifiers.dim)
99 | public static let italic = apply(style:ANSIModifiers.italic)
100 | public static let underline = apply(style:ANSIModifiers.underline)
| |- warning: static property 'underline' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'underline' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:101:23: warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
99 | public static let italic = apply(style:ANSIModifiers.italic)
100 | public static let underline = apply(style:ANSIModifiers.underline)
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
| |- warning: static property 'inverse' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'inverse' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
103 | public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:102:23: warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
100 | public static let underline = apply(style:ANSIModifiers.underline)
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
| |- warning: static property 'hidden' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'hidden' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
103 | public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
104 | }
<unknown>:0: note: a function type must be marked '@Sendable' to conform to 'Sendable'
/host/spi-builder-workspace/Sources/nostr-cc/Colors.swift:103:23: warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
101 | public static let inverse = apply(style:ANSIModifiers.inverse)
102 | public static let hidden = apply(style:ANSIModifiers.hidden)
103 | public static let strikethrough = apply(style:ANSIModifiers.strikethrough)
| |- warning: static property 'strikethrough' is not concurrency-safe because non-'Sendable' type '(String) -> String' may have shared mutable state; this is an error in the Swift 6 language mode
| |- note: add '@MainActor' to make static property 'strikethrough' part of global actor 'MainActor'
| `- note: disable concurrency-safety checks if accesses are protected by an external synchronization mechanism
104 | }
105 |
[1435/1438] Compiling nostr_cc CLI + KeyPair.swift
[1436/1439] Wrapping AST for nostr-cc for debugging
[1437/1439] Write Objects.LinkFileList
[1438/1439] Linking nostr-cc
Build complete! (132.84s)
Build complete.
{
"dependencies" : [
{
"identity" : "swift-argument-parser",
"requirement" : {
"range" : [
{
"lower_bound" : "1.2.2",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-argument-parser.git"
},
{
"identity" : "swift-nio",
"requirement" : {
"range" : [
{
"lower_bound" : "2.32.1",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio.git"
},
{
"identity" : "swift-nio-ssl",
"requirement" : {
"range" : [
{
"lower_bound" : "2.5.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-nio-ssl.git"
},
{
"identity" : "swift-extras-base64",
"requirement" : {
"range" : [
{
"lower_bound" : "0.5.0",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/swift-extras/swift-extras-base64.git"
},
{
"identity" : "swift-log",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-log.git"
},
{
"identity" : "quickjson",
"requirement" : {
"range" : [
{
"lower_bound" : "0.1.1",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tannerdsilva/QuickJSON.git"
},
{
"identity" : "rawdog",
"requirement" : {
"range" : [
{
"lower_bound" : "0.0.7",
"upper_bound" : "1.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/tannerdsilva/rawdog.git"
},
{
"identity" : "secp256k1.swift",
"requirement" : {
"range" : [
{
"lower_bound" : "0.7.0",
"upper_bound" : "0.8.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/GigaBitcoin/secp256k1.swift"
},
{
"identity" : "swift-crypto",
"requirement" : {
"range" : [
{
"lower_bound" : "2.5.0",
"upper_bound" : "3.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-crypto.git"
},
{
"identity" : "swift-system",
"requirement" : {
"range" : [
{
"lower_bound" : "1.0.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/apple/swift-system.git"
}
],
"manifest_display_name" : "nostr-kit",
"name" : "nostr-kit",
"path" : "/host/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "12.0"
},
{
"name" : "ios",
"version" : "16.0"
},
{
"name" : "watchos",
"version" : "8.0"
},
{
"name" : "tvos",
"version" : "15.0"
}
],
"products" : [
{
"name" : "nostr",
"targets" : [
"nostr"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "nostr-cc",
"targets" : [
"nostr-cc"
],
"type" : {
"executable" : null
}
}
],
"targets" : [
{
"c99name" : "nostr_kitTests",
"module_type" : "SwiftTarget",
"name" : "nostr-kitTests",
"path" : "Tests/nostr-kitTests",
"sources" : [
"Bech32Tests.swift",
"DateTests.swift",
"HexTests.swift",
"nostr_eventTests.swift",
"nostr_keyTests.swift",
"nostr_kitTests.swift"
],
"target_dependencies" : [
"nostr"
],
"type" : "test"
},
{
"c99name" : "nostr_cc",
"module_type" : "SwiftTarget",
"name" : "nostr-cc",
"path" : "Sources/nostr-cc",
"product_dependencies" : [
"ArgumentParser"
],
"product_memberships" : [
"nostr-cc"
],
"sources" : [
"CLI/CLI + KeyPair.swift",
"CLI/CLI + Relay.swift",
"CLI/CLI.swift",
"Colors.swift",
"Extensions/KeyPair.swift",
"Extensions/String.swift",
"Profile.swift",
"nostr-cc.swift"
],
"target_dependencies" : [
"nostr"
],
"type" : "executable"
},
{
"c99name" : "nostr",
"module_type" : "SwiftTarget",
"name" : "nostr",
"path" : "Sources/nostr",
"product_dependencies" : [
"ExtrasBase64",
"NIOSSL",
"NIO",
"NIOWebSocket",
"Logging",
"QuickJSON",
"secp256k1",
"RAW",
"Crypto",
"SystemPackage"
],
"product_memberships" : [
"nostr",
"nostr-cc"
],
"sources" : [
"Errors.swift",
"Event/Event + Commitment.swift",
"Event/Event + Kind.swift",
"Event/Event + NIP42.swift",
"Event/Event.swift",
"Event/Tags/Event + Tag + Name.swift",
"Event/Tags/Event + Tag.swift",
"Event/Tags/Event + Tags.swift",
"Filter/Filter.swift",
"Frozen Structs/Date.swift",
"Frozen Structs/Event + Signature.swift",
"Frozen Structs/Event + UID.swift",
"Frozen Structs/Key/KeyPair.swift",
"Frozen Structs/Key/PublicKey.swift",
"Frozen Structs/Key/SecretKey.swift",
"Hex.swift",
"Message/Message.swift",
"Network/NIO/Relay/Configurations/ClientConfiguration.swift",
"Network/NIO/Relay/Relay + Catcher.swift",
"Network/NIO/Relay/Relay + Consumable.swift",
"Network/NIO/Relay/Relay + Error.swift",
"Network/NIO/Relay/Relay + Handler.swift",
"Network/NIO/Relay/Relay + Publishing.swift",
"Network/NIO/Relay/Relay.swift",
"Network/NIO/Relay/URL/RelayURL + NOSTR_tag_infofield.swift",
"Network/NIO/Relay/URL/RelayURL + Parser.swift",
"Network/NIO/Relay/URL/RelayURL + Split.swift",
"Network/NIO/Relay/URL/RelayURL.swift",
"Network/NIO/Relay/URL/RelayURLParameters.swift",
"Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/RelayInitialHTTPRequestWriter.swift",
"Network/NIO/Relay/WebSockets/HTTP2WSUpgrade/WebSocket + Upgrader.swift",
"Network/NIO/Relay/WebSockets/WebSocket + FrameSequence.swift",
"Network/NIO/Relay/WebSockets/WebSocket + Handler.swift",
"Network/NIO/Relay/WebSockets/WebSocket.swift",
"Protocols/BECH32.swift",
"Protocols/HEX/HEX_convertible.swift",
"Protocols/HEX/HEX_decodable.swift",
"Protocols/HEX/HEX_encodable.swift",
"Protocols/NOSTR_date.swift",
"Protocols/NOSTR_event.swift",
"Protocols/NOSTR_filter.swift",
"Protocols/NOSTR_kind.swift",
"Protocols/NOSTR_message.swift",
"Protocols/TAG/Instance/Additional/NOSTR_tag_addlfield.swift",
"Protocols/TAG/Instance/Index/NOSTR_tag_infofield.swift",
"Protocols/TAG/Instance/NOSTR_tag.swift",
"Protocols/TAG/Instance/Name/NOSTR_tag_name.swift",
"Protocols/TAG/Instance/Name/NOSTR_tag_name_generic.swift",
"Protocols/TAG/NOSTR_tagged.swift",
"Utils/Extensions/ByteBuffer.swift",
"Utils/FlatDictionary.swift",
"Utils/RandomBytes.swift",
"Utils/SHA1.swift",
"Utils/SHA256.swift",
"bech32.swift",
"nostr.swift"
],
"target_dependencies" : [
"cnostr"
],
"type" : "library"
},
{
"c99name" : "cnostr",
"module_type" : "ClangTarget",
"name" : "cnostr",
"path" : "Sources/cnostr",
"product_memberships" : [
"nostr",
"nostr-cc"
],
"sources" : [
"cnostr.c"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
basic-6.1-latest: Pulling from finestructure/spi-images
Digest: sha256:3bdcac04179f4ed3e5b8e9dbd6e74bbf5ebc0f4fde48bbaad7d1e5c757e65bcb
Status: Image is up to date for registry.gitlab.com/finestructure/spi-images:basic-6.1-latest
Done.