Build Information
Successful build of JSBridge, reference 1.0.0-alpha.16 (cb5846
), with Swift 6.0 for macOS (SPM) on 29 Nov 2024 02:00:05 UTC.
Swift 6 data race errors: 0
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Build Log
========================================
RunAll
========================================
Builder version: 4.58.0
Interrupt handler set up.
========================================
Checkout
========================================
Clone URL: https://github.com/LinusU/JSBridge.git
Reference: 1.0.0-alpha.16
Initialized empty Git repository in /Users/admin/builder/spi-builder-workspace/.git/
From https://github.com/LinusU/JSBridge
* tag 1.0.0-alpha.16 -> FETCH_HEAD
HEAD is now at cb5846a Merge pull request #8 from LinusU/lu-fix
Cloned https://github.com/LinusU/JSBridge.git
Revision (git rev-parse @):
cb5846a525a31c79f7040fd9df024438883d8924
SUCCESS checkout https://github.com/LinusU/JSBridge.git at 1.0.0-alpha.16
Fetching https://github.com/mxcl/PromiseKit
[1/17137] Fetching promisekit
Fetched https://github.com/mxcl/PromiseKit from cache (1.76s)
Computing version for https://github.com/mxcl/PromiseKit
Computed https://github.com/mxcl/PromiseKit at 6.16.0 (0.61s)
Creating working copy for https://github.com/mxcl/PromiseKit
Working copy of https://github.com/mxcl/PromiseKit resolved at 6.16.0
========================================
ResolveProductDependencies
========================================
Resolving dependencies ...
{
"identity": ".resolve-product-dependencies",
"name": "resolve-dependencies",
"url": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies",
"dependencies": [
{
"identity": "jsbridge",
"name": "JSBridge",
"url": "https://github.com/LinusU/JSBridge.git",
"version": "unspecified",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/JSBridge",
"dependencies": [
{
"identity": "promisekit",
"name": "PromiseKit",
"url": "https://github.com/mxcl/PromiseKit",
"version": "6.22.1",
"path": "/Users/admin/builder/spi-builder-workspace/.resolve-product-dependencies/.build/checkouts/PromiseKit",
"dependencies": [
]
}
]
}
]
}
Fetching https://github.com/LinusU/JSBridge.git
[8/252] Fetching jsbridge
Fetched https://github.com/LinusU/JSBridge.git from cache (0.77s)
Fetching https://github.com/mxcl/PromiseKit from cache
Fetched https://github.com/mxcl/PromiseKit from cache (0.57s)
Computing version for https://github.com/mxcl/PromiseKit
Computed https://github.com/mxcl/PromiseKit at 6.22.1 (0.03s)
Creating working copy for https://github.com/mxcl/PromiseKit
Working copy of https://github.com/mxcl/PromiseKit resolved at 6.22.1
Creating working copy for https://github.com/LinusU/JSBridge.git
Working copy of https://github.com/LinusU/JSBridge.git resolved at 1.0.0-alpha.16 (cb5846a)
warning: '.resolve-product-dependencies': dependency 'jsbridge' is not used by any target
Found 1 product dependencies
- PromiseKit
========================================
Build
========================================
Selected platform: macosSpm
Swift version: 6.0
Building package at path: $PWD
https://github.com/LinusU/JSBridge.git
Running build ...
env DEVELOPER_DIR=/Applications/Xcode-16.1.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCaptures
Building for debugging...
[0/3] Write sources
[2/3] Write swift-version--7754E27361AE5C74.txt
[4/18] Compiling PromiseKit race.swift
[5/19] Compiling PromiseKit hang.swift
[6/19] Compiling PromiseKit Resolver.swift
[7/19] Compiling PromiseKit Thenable.swift
[8/19] Compiling PromiseKit after.swift
[9/19] Compiling PromiseKit firstly.swift
[10/19] Compiling PromiseKit Configuration.swift
[11/19] Compiling PromiseKit CustomStringConvertible.swift
[12/19] Compiling PromiseKit Box.swift
[13/19] Compiling PromiseKit Catchable.swift
[14/19] Compiling PromiseKit LogEvent.swift
[15/19] Compiling PromiseKit Promise.swift
[16/19] Emitting module PromiseKit
[17/19] Compiling PromiseKit Error.swift
[18/19] Compiling PromiseKit Guarantee.swift
[19/19] Compiling PromiseKit when.swift
[20/22] Compiling JSBridge Context.swift
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:125:18: warning: call to main actor-isolated initializer 'init(source:injectionTime:forMainFrameOnly:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
| `- warning: call to main actor-isolated initializer 'init(source:injectionTime:forMainFrameOnly:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
126 | let controller = WKUserContentController()
127 | let configuration = WKWebViewConfiguration()
WebKit.WKUserScript:8:23: note: calls to initializer 'init(source:injectionTime:forMainFrameOnly:)' from outside of its actor context are implicitly asynchronous
6 | @available(swift, obsoleted: 3, renamed: "isForMainFrameOnly")
7 | open var forMainFrameOnly: Bool { get }
8 | @MainActor public init(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool)
| `- note: calls to initializer 'init(source:injectionTime:forMainFrameOnly:)' from outside of its actor context are implicitly asynchronous
9 | @available(macOS 11.0, *)
10 | public init(source: String, injectionTime: WKUserScriptInjectionTime, forMainFrameOnly: Bool, in contentWorld: WKContentWorld)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:126:22: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
126 | let controller = WKUserContentController()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
127 | let configuration = WKWebViewConfiguration()
128 |
WebKit.WKUserContentController:46:23: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
44 | @available(macOS 10.13, *)
45 | open func removeAllContentRuleLists()
46 | @MainActor public init()
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
47 | @available(macOS 10.10, *)
48 | open class var supportsSecureCoding: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:127:25: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
126 | let controller = WKUserContentController()
127 | let configuration = WKWebViewConfiguration()
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
128 |
129 | controller.addUserScript(script)
WebKit.WKWebViewConfiguration:34:23: note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
32 | @available(macOS 15.0, *)
33 | open var supportsAdaptiveImageGlyph: Bool { get set }
34 | @MainActor public init()
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
35 | @available(macOS 10.10, *)
36 | open class var supportsSecureCoding: Bool { get }
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:129:16: warning: call to main actor-isolated instance method 'addUserScript' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
:
127 | let configuration = WKWebViewConfiguration()
128 |
129 | controller.addUserScript(script)
| `- warning: call to main actor-isolated instance method 'addUserScript' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
130 | configuration.userContentController = controller
131 |
WebKit.WKUserContentController:4:26: note: calls to instance method 'addUserScript' from outside of its actor context are implicitly asynchronous
2 | @MainActor open class WKUserContentController : NSObject, NSSecureCoding {
3 | open var userScripts: [WKUserScript] { get }
4 | @MainActor open func addUserScript(_ userScript: WKUserScript)
| `- note: calls to instance method 'addUserScript' from outside of its actor context are implicitly asynchronous
5 | open func removeAllUserScripts()
6 | @available(macOS 11.0, *)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:130:19: warning: main actor-isolated property 'userContentController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
:
128 |
129 | controller.addUserScript(script)
130 | configuration.userContentController = controller
| `- warning: main actor-isolated property 'userContentController' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
131 |
132 | configuration.setURLSchemeHandler(BridgeSchemeHandler(), forURLScheme: "bridge")
WebKit.WKWebViewConfiguration:5:14: note: mutation of this property is only permitted within the actor
3 | open var processPool: WKProcessPool { get set }
4 | open var preferences: WKPreferences { get set }
5 | open var userContentController: WKUserContentController { get set }
| `- note: mutation of this property is only permitted within the actor
6 | @available(macOS 10.11, *)
7 | open var websiteDataStore: WKWebsiteDataStore { get set }
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:132:19: warning: call to main actor-isolated instance method 'setURLSchemeHandler(_:forURLScheme:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
:
130 | configuration.userContentController = controller
131 |
132 | configuration.setURLSchemeHandler(BridgeSchemeHandler(), forURLScheme: "bridge")
| `- warning: call to main actor-isolated instance method 'setURLSchemeHandler(_:forURLScheme:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |
134 | if incognito {
WebKit.WKWebViewConfiguration:26:26: note: calls to instance method 'setURLSchemeHandler(_:forURLScheme:)' from outside of its actor context are implicitly asynchronous
24 | open var userInterfaceDirectionPolicy: WKUserInterfaceDirectionPolicy { get set }
25 | @available(macOS 10.13, *)
26 | @MainActor open func setURLSchemeHandler(_ urlSchemeHandler: (any WKURLSchemeHandler)?, forURLScheme urlScheme: String)
| `- note: calls to instance method 'setURLSchemeHandler(_:forURLScheme:)' from outside of its actor context are implicitly asynchronous
27 | @available(macOS 10.13, *)
28 | open func urlSchemeHandler(forURLScheme urlScheme: String) -> (any WKURLSchemeHandler)?
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:132:39: warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
96 |
97 | @available(iOS 11.0, macOS 10.13, *)
98 | fileprivate class BridgeSchemeHandler: NSObject, WKURLSchemeHandler {
| `- note: calls to initializer 'init()' from outside of its actor context are implicitly asynchronous
99 | func webView(_ webView: WKWebView, start urlSchemeTask: WKURLSchemeTask) {
100 | let url = urlSchemeTask.request.url!
:
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
:
130 | configuration.userContentController = controller
131 |
132 | configuration.setURLSchemeHandler(BridgeSchemeHandler(), forURLScheme: "bridge")
| `- warning: call to main actor-isolated initializer 'init()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
133 |
134 | if incognito {
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:135:23: warning: main actor-isolated property 'websiteDataStore' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
:
133 |
134 | if incognito {
135 | configuration.websiteDataStore = .nonPersistent()
| `- warning: main actor-isolated property 'websiteDataStore' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
136 | }
137 |
WebKit.WKWebViewConfiguration:7:14: note: mutation of this property is only permitted within the actor
5 | open var userContentController: WKUserContentController { get set }
6 | @available(macOS 10.11, *)
7 | open var websiteDataStore: WKWebsiteDataStore { get set }
| `- note: mutation of this property is only permitted within the actor
8 | open var suppressesIncrementalRendering: Bool { get set }
9 | @available(macOS 10.11, *)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:135:43: warning: call to main actor-isolated class method 'nonPersistent()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
121 |
122 | @available(iOS 11.0, macOS 10.13, *)
123 | fileprivate func buildWebViewConfig(libraryCode: String, incognito: Bool) -> WKWebViewConfiguration {
| `- note: add '@MainActor' to make global function 'buildWebViewConfig(libraryCode:incognito:)' part of global actor 'MainActor'
124 | let source = "\(internalLibrary);try{(function () {\(libraryCode)}());__JSBridge__ready__(true)} catch (err) {__JSBridge__ready__(false, err)}"
125 | let script = WKUserScript(source: source, injectionTime: .atDocumentStart, forMainFrameOnly: true)
:
133 |
134 | if incognito {
135 | configuration.websiteDataStore = .nonPersistent()
| `- warning: call to main actor-isolated class method 'nonPersistent()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
136 | }
137 |
WebKit.WKWebsiteDataStore:6:32: note: calls to class method 'nonPersistent()' from outside of its actor context are implicitly asynchronous
4 | @available(swift, obsoleted: 3, renamed: "default()")
5 | open class func defaultDataStore() -> WKWebsiteDataStore
6 | @MainActor open class func nonPersistent() -> WKWebsiteDataStore
| `- note: calls to class method 'nonPersistent()' from outside of its actor context are implicitly asynchronous
7 | @available(swift, obsoleted: 3, renamed: "nonPersistent()")
8 | open class func nonPersistentDataStore() -> WKWebsiteDataStore
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:216:82: warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
210 | }
211 |
212 | private func evaluateJavaScript(_ javaScriptString: String, completionHandler: ((Any?, Error?) -> Void)? = nil) {
| `- note: parameter 'completionHandler' is implicitly non-sendable
213 | firstly {
214 | self.ready
215 | }.done {
216 | self.webView.evaluateJavaScript(javaScriptString, completionHandler: completionHandler)
| `- warning: passing non-sendable parameter 'completionHandler' to function expecting a @Sendable closure
217 | }.catch {
218 | completionHandler?(nil, $0)
[21/22] Compiling JSBridge JSBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:45:24: warning: call to main actor-isolated initializer 'init(libraryCode:customOrigin:incognito:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
43 |
44 | public init(libraryCode: String, customOrigin: URL? = nil, headless: Bool = true, incognito: Bool = false) {
45 | self.context = Context(libraryCode: libraryCode, customOrigin: customOrigin, incognito: incognito)
| `- warning: call to main actor-isolated initializer 'init(libraryCode:customOrigin:incognito:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
46 | self.headless = headless
47 | self.webView = headless ? nil : self.context.webView
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:154:5: note: calls to initializer 'init(libraryCode:customOrigin:incognito:)' from outside of its actor context are implicitly asynchronous
152 | internal let webView: WKWebView
153 |
154 | init(libraryCode: String, customOrigin: URL?, incognito: Bool) {
| `- note: calls to initializer 'init(libraryCode:customOrigin:incognito:)' from outside of its actor context are implicitly asynchronous
155 | webView = WKWebView.init(frame: .zero, configuration: buildWebViewConfig(libraryCode: libraryCode, incognito: incognito))
156 |
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:72:21: warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
70 | internal func call(function: String, withStringifiedArgs args: String) -> Promise<Void> {
71 | return firstly {
72 | context.rawCall(function: function, args: args)
| `- warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
73 | }.then { _ in
74 | Promise.value(()) as Promise<Void>
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:222:19: note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
220 | }
221 |
222 | internal func rawCall(function: String, args: String) -> Promise<String> {
| `- note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
223 | return Promise<String> { seal in
224 | let id = self.nextIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:80:21: warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
78 | internal func call<Result: Decodable>(function: String, withStringifiedArgs args: String) -> Promise<Result> {
79 | return firstly {
80 | context.rawCall(function: function, args: args)
| `- warning: call to main actor-isolated instance method 'rawCall(function:args:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
81 | }.map { stringified in
82 | try self.decode(stringified)
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:222:19: note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
220 | }
221 |
222 | internal func rawCall(function: String, args: String) -> Promise<String> {
| `- note: calls to instance method 'rawCall(function:args:)' from outside of its actor context are implicitly asynchronous
223 | return Promise<String> { seal in
224 | let id = self.nextIdentifier
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:159:22: warning: call to main actor-isolated instance method 'register(namespace:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
156 | }
157 |
158 | private func rawRegister(namespace: String) {
| `- note: add '@MainActor' to make instance method 'rawRegister(namespace:)' part of global actor 'MainActor'
159 | self.context.register(namespace: namespace)
| `- warning: call to main actor-isolated instance method 'register(namespace:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
160 | }
161 |
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:234:19: note: calls to instance method 'register(namespace:)' from outside of its actor context are implicitly asynchronous
232 | }
233 |
234 | internal func register(namespace: String) {
| `- note: calls to instance method 'register(namespace:)' from outside of its actor context are implicitly asynchronous
235 | self.evaluateJavaScript("window.\(namespace) = {}")
236 | }
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:163:22: warning: call to main actor-isolated instance method 'register(functionNamed:_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
160 | }
161 |
162 | private func rawRegister(functionNamed name: String, _ fn: @escaping ([String]) throws -> Promise<String>) {
| `- note: add '@MainActor' to make instance method 'rawRegister(functionNamed:_:)' part of global actor 'MainActor'
163 | self.context.register(functionNamed: name, fn)
| `- warning: call to main actor-isolated instance method 'register(functionNamed:_:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
164 | }
165 |
/Users/admin/builder/spi-builder-workspace/Sources/Context.swift:238:19: note: calls to instance method 'register(functionNamed:_:)' from outside of its actor context are implicitly asynchronous
236 | }
237 |
238 | internal func register(functionNamed name: String, _ fn: @escaping ([String]) throws -> Promise<String>) {
| `- note: calls to instance method 'register(functionNamed:_:)' from outside of its actor context are implicitly asynchronous
239 | self.functions[name] = fn
240 | self.evaluateJavaScript("window.\(name) = (...args) => __JSBridge__send__('\(name)', ...args)")
/Users/admin/builder/spi-builder-workspace/Sources/JSBridge.swift:163:22: warning: sending 'fn' risks causing data races; this is an error in the Swift 6 language mode
161 |
162 | private func rawRegister(functionNamed name: String, _ fn: @escaping ([String]) throws -> Promise<String>) {
163 | self.context.register(functionNamed: name, fn)
| |- warning: sending 'fn' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending task-isolated 'fn' to main actor-isolated instance method 'register(functionNamed:_:)' risks causing data races between main actor-isolated and task-isolated uses
164 | }
165 |
[22/22] Emitting module JSBridge
Build complete! (14.66s)
Build complete.
{
"dependencies" : [
{
"identity" : "promisekit",
"requirement" : {
"range" : [
{
"lower_bound" : "6.0.0",
"upper_bound" : "7.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/mxcl/PromiseKit"
}
],
"manifest_display_name" : "JSBridge",
"name" : "JSBridge",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
],
"products" : [
{
"name" : "JSBridge",
"targets" : [
"JSBridge"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "JSBridgeTests",
"module_type" : "SwiftTarget",
"name" : "JSBridgeTests",
"path" : "Tests",
"sources" : [
"JSBridgeTests.swift"
],
"target_dependencies" : [
"JSBridge"
],
"type" : "test"
},
{
"c99name" : "JSBridge",
"module_type" : "SwiftTarget",
"name" : "JSBridge",
"path" : "Sources",
"product_dependencies" : [
"PromiseKit"
],
"product_memberships" : [
"JSBridge"
],
"sources" : [
"Context.swift",
"JSBridge.swift"
],
"type" : "library"
}
],
"tools_version" : "5.0"
}
Done.