Build Information
Successful build of MarkdownEngine, reference main (a832dd), with Swift 6.1 for macOS (SPM) on 13 Oct 2026 22:56:58 UTC.
Swift 6 data race errors: 27
Build Command
env DEVELOPER_DIR=/Applications/Xcode-16.3.0.app xcrun swift build --arch arm64 -Xswiftc -Xfrontend -Xswiftc -stats-output-dir -Xswiftc -Xfrontend -Xswiftc .stats -Xswiftc -strict-concurrency=complete -Xswiftc -enable-upcoming-feature -Xswiftc StrictConcurrency -Xswiftc -enable-upcoming-feature -Xswiftc DisableOutwardActorInference -Xswiftc -enable-upcoming-feature -Xswiftc GlobalActorIsolatedTypesUsability -Xswiftc -enable-upcoming-feature -Xswiftc InferSendableFromCapturesBuild Log
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:495:10: note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
493 | /// a bistable frame height; steady-state cost here is an enumeration over
494 | /// already-laid-out fragments.
495 | func ensureVisibleLayout() {
| |- note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
496 | guard let tlm = textLayoutManager else { return }
497 | let visBot = visibleRect.maxY
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:414:24: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:415:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:417:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
417 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:418:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
420 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:419:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
420 | }
421 | reconcileHeader(textView: textView, context: context)
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:77:9: warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
75 |
76 | deinit {
77 | if let clipFrameObserver {
| `- warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
11 | //
12 |
13 | import AppKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
14 | import SwiftUI
15 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:80:9: warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
80 | if let hostFrameObserver {
| `- warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
81 | NotificationCenter.default.removeObserver(hostFrameObserver)
82 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
[369/373] Compiling MarkdownEngine NativeTextViewContainer.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:51: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:39: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:377:31: warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
| `- warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
378 | lastObservedViewportWidth = newWidth
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:378:17: warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
| `- warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
380 | // Read readingWidth from the live textView.configuration (a class, captured by
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:383:29: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
381 | // reference) instead of the struct `configuration` captured by value at
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:384:30: warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
384 | textView.centerReadingColumn(forClipWidth: newWidth)
| `- warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:232:10: note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
230 |
231 | /// Re-center the column by moving its X (not resizing it) so it stays smooth during live resize.
232 | func centerReadingColumn(forClipWidth clipWidth: CGFloat) {
| |- note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
233 | guard configuration.readingWidth != nil,
234 | let container = superview as? NativeTextViewContainer else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:386:25: warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
| `- warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
388 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: mutation of this property is only permitted within the actor
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:387:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
388 | }
389 | // Only react with overscroll recalc when the viewport itself resizes
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:394:46: warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
392 | // oscillation after clicks. Compare the CONTAINER (the document view) height
393 | // to the viewport — it tracks the viewport for short docs.
394 | guard let container = scrollView.documentView as? NativeTextViewContainer else { return }
| `- warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
395 | // Read heightBehavior from the live textView.configuration (a class,
396 | // captured by reference) — not the struct `configuration` captured by
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:48:47: note: property declared here
46 | @property (readonly) NSRect documentVisibleRect;
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
| `- note: property declared here
49 | @property (strong) NSClipView *contentView;
50 | @property (nullable, strong) NSCursor *documentCursor;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:400:25: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
398 | // switch leaves this closure permanently early-returning, so viewport-
399 | // resize-driven recalcOverscroll is skipped → stale overscroll.
400 | if textView.configuration.heightBehavior == .fitsContent {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
401 | // In .fitsContent the container is content-tall (not viewport-tall),
402 | // so the container-vs-viewport guard below is always true — which
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:33: warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:71: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:59: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:409:22: warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
| `- warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
410 | scrollView.clampToInsets()
411 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:20:10: note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
18 | }
19 |
20 | func recalcOverscroll(
| |- note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
21 | for scrollView: NSScrollView,
22 | targetWidth: CGFloat? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:410:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:413:22: warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
| `- warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:495:10: note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
493 | /// a bistable frame height; steady-state cost here is an enumeration over
494 | /// already-laid-out fragments.
495 | func ensureVisibleLayout() {
| |- note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
496 | guard let tlm = textLayoutManager else { return }
497 | let visBot = visibleRect.maxY
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:414:24: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:415:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:417:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
417 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:418:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
420 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:419:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
420 | }
421 | reconcileHeader(textView: textView, context: context)
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:77:9: warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
75 |
76 | deinit {
77 | if let clipFrameObserver {
| `- warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
11 | //
12 |
13 | import AppKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
14 | import SwiftUI
15 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:80:9: warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
80 | if let hostFrameObserver {
| `- warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
81 | NotificationCenter.default.removeObserver(hostFrameObserver)
82 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
[370/373] Compiling MarkdownEngine NativeTextViewSelectionTypes.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:51: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:39: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:377:31: warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
| `- warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
378 | lastObservedViewportWidth = newWidth
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:378:17: warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
| `- warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
380 | // Read readingWidth from the live textView.configuration (a class, captured by
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:383:29: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
381 | // reference) instead of the struct `configuration` captured by value at
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:384:30: warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
384 | textView.centerReadingColumn(forClipWidth: newWidth)
| `- warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:232:10: note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
230 |
231 | /// Re-center the column by moving its X (not resizing it) so it stays smooth during live resize.
232 | func centerReadingColumn(forClipWidth clipWidth: CGFloat) {
| |- note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
233 | guard configuration.readingWidth != nil,
234 | let container = superview as? NativeTextViewContainer else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:386:25: warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
| `- warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
388 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: mutation of this property is only permitted within the actor
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:387:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
388 | }
389 | // Only react with overscroll recalc when the viewport itself resizes
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:394:46: warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
392 | // oscillation after clicks. Compare the CONTAINER (the document view) height
393 | // to the viewport — it tracks the viewport for short docs.
394 | guard let container = scrollView.documentView as? NativeTextViewContainer else { return }
| `- warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
395 | // Read heightBehavior from the live textView.configuration (a class,
396 | // captured by reference) — not the struct `configuration` captured by
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:48:47: note: property declared here
46 | @property (readonly) NSRect documentVisibleRect;
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
| `- note: property declared here
49 | @property (strong) NSClipView *contentView;
50 | @property (nullable, strong) NSCursor *documentCursor;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:400:25: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
398 | // switch leaves this closure permanently early-returning, so viewport-
399 | // resize-driven recalcOverscroll is skipped → stale overscroll.
400 | if textView.configuration.heightBehavior == .fitsContent {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
401 | // In .fitsContent the container is content-tall (not viewport-tall),
402 | // so the container-vs-viewport guard below is always true — which
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:33: warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:71: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:59: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:409:22: warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
| `- warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
410 | scrollView.clampToInsets()
411 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:20:10: note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
18 | }
19 |
20 | func recalcOverscroll(
| |- note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
21 | for scrollView: NSScrollView,
22 | targetWidth: CGFloat? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:410:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:413:22: warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
| `- warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:495:10: note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
493 | /// a bistable frame height; steady-state cost here is an enumeration over
494 | /// already-laid-out fragments.
495 | func ensureVisibleLayout() {
| |- note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
496 | guard let tlm = textLayoutManager else { return }
497 | let visBot = visibleRect.maxY
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:414:24: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:415:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:417:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
417 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:418:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
420 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:419:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
420 | }
421 | reconcileHeader(textView: textView, context: context)
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:77:9: warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
75 |
76 | deinit {
77 | if let clipFrameObserver {
| `- warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
11 | //
12 |
13 | import AppKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
14 | import SwiftUI
15 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:80:9: warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
80 | if let hostFrameObserver {
| `- warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
81 | NotificationCenter.default.removeObserver(hostFrameObserver)
82 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
[371/373] Compiling MarkdownEngine NativeTextViewWrapper.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:51: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:39: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:377:31: warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
| `- warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
378 | lastObservedViewportWidth = newWidth
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:378:17: warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
| `- warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
380 | // Read readingWidth from the live textView.configuration (a class, captured by
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:383:29: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
381 | // reference) instead of the struct `configuration` captured by value at
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:384:30: warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
384 | textView.centerReadingColumn(forClipWidth: newWidth)
| `- warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:232:10: note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
230 |
231 | /// Re-center the column by moving its X (not resizing it) so it stays smooth during live resize.
232 | func centerReadingColumn(forClipWidth clipWidth: CGFloat) {
| |- note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
233 | guard configuration.readingWidth != nil,
234 | let container = superview as? NativeTextViewContainer else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:386:25: warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
| `- warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
388 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: mutation of this property is only permitted within the actor
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:387:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
388 | }
389 | // Only react with overscroll recalc when the viewport itself resizes
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:394:46: warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
392 | // oscillation after clicks. Compare the CONTAINER (the document view) height
393 | // to the viewport — it tracks the viewport for short docs.
394 | guard let container = scrollView.documentView as? NativeTextViewContainer else { return }
| `- warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
395 | // Read heightBehavior from the live textView.configuration (a class,
396 | // captured by reference) — not the struct `configuration` captured by
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:48:47: note: property declared here
46 | @property (readonly) NSRect documentVisibleRect;
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
| `- note: property declared here
49 | @property (strong) NSClipView *contentView;
50 | @property (nullable, strong) NSCursor *documentCursor;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:400:25: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
398 | // switch leaves this closure permanently early-returning, so viewport-
399 | // resize-driven recalcOverscroll is skipped → stale overscroll.
400 | if textView.configuration.heightBehavior == .fitsContent {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
401 | // In .fitsContent the container is content-tall (not viewport-tall),
402 | // so the container-vs-viewport guard below is always true — which
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:33: warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:71: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:59: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:409:22: warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
| `- warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
410 | scrollView.clampToInsets()
411 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:20:10: note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
18 | }
19 |
20 | func recalcOverscroll(
| |- note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
21 | for scrollView: NSScrollView,
22 | targetWidth: CGFloat? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:410:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:413:22: warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
| `- warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:495:10: note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
493 | /// a bistable frame height; steady-state cost here is an enumeration over
494 | /// already-laid-out fragments.
495 | func ensureVisibleLayout() {
| |- note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
496 | guard let tlm = textLayoutManager else { return }
497 | let visBot = visibleRect.maxY
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:414:24: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:415:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:417:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
417 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:418:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
420 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:419:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
420 | }
421 | reconcileHeader(textView: textView, context: context)
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:77:9: warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
75 |
76 | deinit {
77 | if let clipFrameObserver {
| `- warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
11 | //
12 |
13 | import AppKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
14 | import SwiftUI
15 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:80:9: warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
80 | if let hostFrameObserver {
| `- warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
81 | NotificationCenter.default.removeObserver(hostFrameObserver)
82 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
[372/373] Compiling MarkdownEngine PasteboardImageReader.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:51: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:39: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:377:31: warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
| `- warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
378 | lastObservedViewportWidth = newWidth
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:378:17: warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
| `- warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
380 | // Read readingWidth from the live textView.configuration (a class, captured by
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:383:29: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
381 | // reference) instead of the struct `configuration` captured by value at
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:384:30: warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
384 | textView.centerReadingColumn(forClipWidth: newWidth)
| `- warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:232:10: note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
230 |
231 | /// Re-center the column by moving its X (not resizing it) so it stays smooth during live resize.
232 | func centerReadingColumn(forClipWidth clipWidth: CGFloat) {
| |- note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
233 | guard configuration.readingWidth != nil,
234 | let container = superview as? NativeTextViewContainer else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:386:25: warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
| `- warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
388 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: mutation of this property is only permitted within the actor
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:387:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
388 | }
389 | // Only react with overscroll recalc when the viewport itself resizes
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:394:46: warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
392 | // oscillation after clicks. Compare the CONTAINER (the document view) height
393 | // to the viewport — it tracks the viewport for short docs.
394 | guard let container = scrollView.documentView as? NativeTextViewContainer else { return }
| `- warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
395 | // Read heightBehavior from the live textView.configuration (a class,
396 | // captured by reference) — not the struct `configuration` captured by
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:48:47: note: property declared here
46 | @property (readonly) NSRect documentVisibleRect;
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
| `- note: property declared here
49 | @property (strong) NSClipView *contentView;
50 | @property (nullable, strong) NSCursor *documentCursor;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:400:25: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
398 | // switch leaves this closure permanently early-returning, so viewport-
399 | // resize-driven recalcOverscroll is skipped → stale overscroll.
400 | if textView.configuration.heightBehavior == .fitsContent {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
401 | // In .fitsContent the container is content-tall (not viewport-tall),
402 | // so the container-vs-viewport guard below is always true — which
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:33: warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:71: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:59: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:409:22: warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
| `- warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
410 | scrollView.clampToInsets()
411 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:20:10: note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
18 | }
19 |
20 | func recalcOverscroll(
| |- note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
21 | for scrollView: NSScrollView,
22 | targetWidth: CGFloat? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:410:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:413:22: warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
| `- warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:495:10: note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
493 | /// a bistable frame height; steady-state cost here is an enumeration over
494 | /// already-laid-out fragments.
495 | func ensureVisibleLayout() {
| |- note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
496 | guard let tlm = textLayoutManager else { return }
497 | let visBot = visibleRect.maxY
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:414:24: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:415:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:417:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
417 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:418:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
420 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:419:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
420 | }
421 | reconcileHeader(textView: textView, context: context)
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:77:9: warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
75 |
76 | deinit {
77 | if let clipFrameObserver {
| `- warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
11 | //
12 |
13 | import AppKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
14 | import SwiftUI
15 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:80:9: warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
80 | if let hostFrameObserver {
| `- warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
81 | NotificationCenter.default.removeObserver(hostFrameObserver)
82 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
[373/373] Compiling MarkdownEngine ScrollingHeaderController.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:51: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:376:39: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
374 | NotificationCenter.default.addObserver(forName: NSView.frameDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:377:31: warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
375 | // Refresh code-block overlays only on real viewport width changes, not on TextKit height-only echoes during typing.
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
| `- warning: reference to captured var 'lastObservedViewportWidth' in concurrently-executing code
378 | lastObservedViewportWidth = newWidth
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:378:17: warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
376 | let newWidth = scrollView.contentView.bounds.width
377 | if abs(newWidth - lastObservedViewportWidth) > 0.5 {
378 | lastObservedViewportWidth = newWidth
| `- warning: mutation of captured var 'lastObservedViewportWidth' in concurrently-executing code
379 | // Re-center the column by position (no redraw) so it stays smooth during live resize.
380 | // Read readingWidth from the live textView.configuration (a class, captured by
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:383:29: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
381 | // reference) instead of the struct `configuration` captured by value at
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:384:30: warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
382 | // makeNSView time — the embedder may change readingWidth between updates.
383 | if textView.configuration.readingWidth != nil {
384 | textView.centerReadingColumn(forClipWidth: newWidth)
| `- warning: call to main actor-isolated instance method 'centerReadingColumn(forClipWidth:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:232:10: note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
230 |
231 | /// Re-center the column by moving its X (not resizing it) so it stays smooth during live resize.
232 | func centerReadingColumn(forClipWidth clipWidth: CGFloat) {
| |- note: calls to instance method 'centerReadingColumn(forClipWidth:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
233 | guard configuration.readingWidth != nil,
234 | let container = superview as? NativeTextViewContainer else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:386:25: warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
384 | textView.centerReadingColumn(forClipWidth: newWidth)
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
| `- warning: main actor-isolated property 'coordinator' can not be mutated from a Sendable closure; this is an error in the Swift 6 language mode
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
388 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: mutation of this property is only permitted within the actor
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: mutation of this property is only permitted within the actor
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:387:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
385 | }
386 | context.coordinator.didEnsureLayoutForCurrentDocument = false
387 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
388 | }
389 | // Only react with overscroll recalc when the viewport itself resizes
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:394:46: warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
392 | // oscillation after clicks. Compare the CONTAINER (the document view) height
393 | // to the viewport — it tracks the viewport for short docs.
394 | guard let container = scrollView.documentView as? NativeTextViewContainer else { return }
| `- warning: main actor-isolated property 'documentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
395 | // Read heightBehavior from the live textView.configuration (a class,
396 | // captured by reference) — not the struct `configuration` captured by
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:48:47: note: property declared here
46 | @property (readonly) NSRect documentVisibleRect;
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
| `- note: property declared here
49 | @property (strong) NSClipView *contentView;
50 | @property (nullable, strong) NSCursor *documentCursor;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:400:25: warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
398 | // switch leaves this closure permanently early-returning, so viewport-
399 | // resize-driven recalcOverscroll is skipped → stale overscroll.
400 | if textView.configuration.heightBehavior == .fitsContent {
| `- warning: main actor-isolated property 'configuration' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
401 | // In .fitsContent the container is content-tall (not viewport-tall),
402 | // so the container-vs-viewport guard below is always true — which
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView.swift:38:9: note: property declared here
36 |
37 | // MARK: Configuration
38 | var configuration: MarkdownEditorConfiguration = .default {
| `- note: property declared here
39 | didSet {
40 | overscrollPercent = configuration.overscroll.percent
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:33: warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'frame' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: property declared here
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: property declared here
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:71: warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'bounds' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:408:59: warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
406 | return
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
| `- warning: main actor-isolated property 'contentView' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSScrollView.h:49:32: note: property declared here
47 | @property (readonly) NSSize contentSize;
48 | @property (nullable, strong) __kindof NSView *documentView;
49 | @property (strong) NSClipView *contentView;
| `- note: property declared here
50 | @property (nullable, strong) NSCursor *documentCursor;
51 | @property NSBorderType borderType;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:409:22: warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
407 | }
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
| `- warning: call to main actor-isolated instance method 'recalcOverscroll(for:targetWidth:debugTag:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
410 | scrollView.clampToInsets()
411 | }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:20:10: note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
18 | }
19 |
20 | func recalcOverscroll(
| |- note: calls to instance method 'recalcOverscroll(for:targetWidth:debugTag:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
21 | for scrollView: NSScrollView,
22 | targetWidth: CGFloat? = nil,
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:410:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
408 | guard abs(container.frame.height - scrollView.contentView.bounds.height) > 1 else { return }
409 | textView.recalcOverscroll(for: scrollView)
410 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:413:22: warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
411 | }
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
| `- warning: call to main actor-isolated instance method 'ensureVisibleLayout()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift:495:10: note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
493 | /// a bistable frame height; steady-state cost here is an enumeration over
494 | /// already-laid-out fragments.
495 | func ensureVisibleLayout() {
| |- note: calls to instance method 'ensureVisibleLayout()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSTextView'
496 | guard let tlm = textLayoutManager else { return }
497 | let visBot = visibleRect.maxY
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:414:24: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
412 | NotificationCenter.default.addObserver(forName: NSView.boundsDidChangeNotification, object: scrollView.contentView, queue: nil) { _ in
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:415:25: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
413 | textView.ensureVisibleLayout()
414 | if context.coordinator.isWritingToolsActive {
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:417:24: warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
415 | context.coordinator.fixWritingToolsChildWindowIfNeeded(textView: textView)
416 | }
417 | scrollView.clampToInsets()
| `- warning: call to main actor-isolated instance method 'clampToInsets()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ClampedScrollView.swift:171:10: note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
169 | }
170 |
171 | func clampToInsets() {
| |- note: calls to instance method 'clampToInsets()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSScrollView'
172 | guard !fitsContent else { return }
173 | guard let doc = documentView else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:418:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
416 | }
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
420 | }
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/NativeTextViewWrapper.swift:419:21: warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
417 | scrollView.clampToInsets()
418 | context.coordinator.refreshActiveLinkCaretRect()
419 | context.coordinator.updateCodeBlockSelection(textView: textView)
| `- warning: main actor-isolated property 'coordinator' can not be referenced from a Sendable closure; this is an error in the Swift 6 language mode
420 | }
421 | reconcileHeader(textView: textView, context: context)
SwiftUI.NSViewRepresentableContext.coordinator:2:39: note: property declared here
1 | generic struct NSViewRepresentableContext {
2 | @MainActor @preconcurrency public let coordinator: View.Coordinator}
| `- note: property declared here
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:77:9: warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
75 |
76 | deinit {
77 | if let clipFrameObserver {
| `- warning: cannot access property 'clipFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:13:1: warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
11 | //
12 |
13 | import AppKit
| `- warning: add '@preconcurrency' to suppress 'Sendable'-related warnings from module 'ObjectiveC'
14 | import SwiftUI
15 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngine/TextView/ScrollingHeaderController.swift:80:9: warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
78 | NotificationCenter.default.removeObserver(clipFrameObserver)
79 | }
80 | if let hostFrameObserver {
| `- warning: cannot access property 'hostFrameObserver' with a non-sendable type '(any NSObjectProtocol)?' from nonisolated deinit; this is an error in the Swift 6 language mode
81 | NotificationCenter.default.removeObserver(hostFrameObserver)
82 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/usr/include/objc/NSObject.h:15:11: note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
13 | @class NSString, NSMethodSignature, NSInvocation;
14 |
15 | @protocol NSObject
| `- note: protocol 'NSObjectProtocol' does not conform to the 'Sendable' protocol
16 |
17 | - (BOOL)isEqual:(id)object;
[374/377] Compiling MarkdownEngineCodeBlocks HighlighterSwiftBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineCodeBlocks/HighlighterSwiftBridge.swift:113:43: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
109 | }
110 |
111 | private func isDarkAppearance() -> Bool {
| `- note: add '@MainActor' to make instance method 'isDarkAppearance()' part of global actor 'MainActor'
112 | guard autoSwitchAppearance else { return false }
113 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | return appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
115 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAppearance.h:90:44: note: property declared here
88 | /* This returns the appearance that would be used when drawing the receiver, taking inherited appearances into account.
89 | */
90 | @property (readonly, strong) NSAppearance *effectiveAppearance API_AVAILABLE(macos(10.9));
| `- note: property declared here
91 |
92 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineCodeBlocks/HighlighterSwiftBridge.swift:113:32: warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
109 | }
110 |
111 | private func isDarkAppearance() -> Bool {
| `- note: add '@MainActor' to make instance method 'isDarkAppearance()' part of global actor 'MainActor'
112 | guard autoSwitchAppearance else { return false }
113 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | return appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
115 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:202:48: note: property declared here
200 |
201 | @property (nullable, readonly, weak) NSWindow *mainWindow;
202 | @property (nullable, readonly, weak) NSWindow *keyWindow;
| `- note: property declared here
203 | @property (getter=isActive, readonly) BOOL active;
204 | @property (getter=isHidden, readonly) BOOL hidden;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineCodeBlocks/HighlighterSwiftBridge.swift:113:26: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
109 | }
110 |
111 | private func isDarkAppearance() -> Bool {
| `- note: add '@MainActor' to make instance method 'isDarkAppearance()' part of global actor 'MainActor'
112 | guard autoSwitchAppearance else { return false }
113 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | return appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
115 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:191:58: note: var declared here
189 | @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
190 |
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
| `- note: var declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineCodeBlocks/HighlighterSwiftBridge.swift:113:72: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
111 | private func isDarkAppearance() -> Bool {
112 | guard autoSwitchAppearance else { return false }
113 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
114 | return appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
115 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:342:44: note: property declared here
340 | #pragma clang diagnostic ignored "-Wavailability"
341 | @property (nullable, strong) NSAppearance *appearance API_AVAILABLE(macos(10.14));
342 | @property (readonly, strong) NSAppearance *effectiveAppearance API_AVAILABLE(macos(10.14));
| `- note: property declared here
343 | #pragma clang diagnostic pop
344 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineCodeBlocks/HighlighterSwiftBridge.swift:113:66: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
111 | private func isDarkAppearance() -> Bool {
112 | guard autoSwitchAppearance else { return false }
113 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
114 | return appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
115 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:191:58: note: var declared here
189 | @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
190 |
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
| `- note: var declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
[375/377] Emitting module MarkdownEngineCodeBlocks
[376/377] Compiling MarkdownEngineLatex SwiftMathBridge.swift
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:64:22: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
62 | /// init, so a fresh label per formula doubles the per-formula label overhead.
63 | /// render() is main-thread-only (it reads NSApp), so a single shared label is safe.
64 | private lazy var reusableLabel = MTMathUILabel()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
65 |
66 | /// - Parameter singleLetterPaddingBottom: Extra bottom padding (in
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:110:43: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
99 | }
100 |
101 | public func render(
| `- note: add '@MainActor' to make instance method 'render(latex:mode:fontSize:theme:)' part of global actor 'MainActor'
102 | latex: String,
103 | mode: LatexRenderMode,
:
108 | guard !normalizedLatex.isEmpty else { return nil }
109 |
110 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
111 | let isDarkMode = appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
112 | let textColor = isDarkMode ? theme.latexDarkModeText : theme.latexLightModeText
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSAppearance.h:90:44: note: property declared here
88 | /* This returns the appearance that would be used when drawing the receiver, taking inherited appearances into account.
89 | */
90 | @property (readonly, strong) NSAppearance *effectiveAppearance API_AVAILABLE(macos(10.9));
| `- note: property declared here
91 |
92 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:110:32: warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
99 | }
100 |
101 | public func render(
| `- note: add '@MainActor' to make instance method 'render(latex:mode:fontSize:theme:)' part of global actor 'MainActor'
102 | latex: String,
103 | mode: LatexRenderMode,
:
108 | guard !normalizedLatex.isEmpty else { return nil }
109 |
110 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated property 'keyWindow' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
111 | let isDarkMode = appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
112 | let textColor = isDarkMode ? theme.latexDarkModeText : theme.latexLightModeText
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:202:48: note: property declared here
200 |
201 | @property (nullable, readonly, weak) NSWindow *mainWindow;
202 | @property (nullable, readonly, weak) NSWindow *keyWindow;
| `- note: property declared here
203 | @property (getter=isActive, readonly) BOOL active;
204 | @property (getter=isHidden, readonly) BOOL hidden;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:110:26: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
99 | }
100 |
101 | public func render(
| `- note: add '@MainActor' to make instance method 'render(latex:mode:fontSize:theme:)' part of global actor 'MainActor'
102 | latex: String,
103 | mode: LatexRenderMode,
:
108 | guard !normalizedLatex.isEmpty else { return nil }
109 |
110 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
111 | let isDarkMode = appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
112 | let textColor = isDarkMode ? theme.latexDarkModeText : theme.latexLightModeText
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:191:58: note: var declared here
189 | @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
190 |
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
| `- note: var declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:110:72: warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
108 | guard !normalizedLatex.isEmpty else { return nil }
109 |
110 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated property 'effectiveAppearance' can not be referenced from a nonisolated autoclosure; this is an error in the Swift 6 language mode
111 | let isDarkMode = appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
112 | let textColor = isDarkMode ? theme.latexDarkModeText : theme.latexLightModeText
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:342:44: note: property declared here
340 | #pragma clang diagnostic ignored "-Wavailability"
341 | @property (nullable, strong) NSAppearance *appearance API_AVAILABLE(macos(10.14));
342 | @property (readonly, strong) NSAppearance *effectiveAppearance API_AVAILABLE(macos(10.14));
| `- note: property declared here
343 | #pragma clang diagnostic pop
344 | @end
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:110:66: warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
108 | guard !normalizedLatex.isEmpty else { return nil }
109 |
110 | let appearance = NSApp.keyWindow?.effectiveAppearance ?? NSApp.effectiveAppearance
| `- warning: main actor-isolated var 'NSApp' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
111 | let isDarkMode = appearance.bestMatch(from: [.darkAqua, .aqua]) == .darkAqua
112 | let textColor = isDarkMode ? theme.latexDarkModeText : theme.latexLightModeText
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSApplication.h:191:58: note: var declared here
189 | @interface NSApplication : NSResponder <NSUserInterfaceValidations, NSMenuItemValidation, NSAccessibilityElement, NSAccessibility>
190 |
191 | APPKIT_EXTERN __kindof NSApplication * _Null_unspecified NSApp NS_SWIFT_UI_ACTOR;
| `- note: var declared here
192 |
193 | @property (class, readonly, strong) __kindof NSApplication *sharedApplication;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:228:19: warning: main actor-isolated property 'latex' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
226 | // stale state carries between formulas.
227 | let mathLabel = reusableLabel
228 | mathLabel.latex = latex
| `- warning: main actor-isolated property 'latex' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
229 | mathLabel.fontSize = fontSize
230 | mathLabel.textColor = textColor
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:76:16: note: mutation of this property is only permitted within the actor
74 | @see error */
75 | @IBInspectable
76 | public var latex:String {
| `- note: mutation of this property is only permitted within the actor
77 | set {
78 | _latex = newValue
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:229:19: warning: main actor-isolated property 'fontSize' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
227 | let mathLabel = reusableLabel
228 | mathLabel.latex = latex
229 | mathLabel.fontSize = fontSize
| `- warning: main actor-isolated property 'fontSize' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
230 | mathLabel.textColor = textColor
231 | mathLabel.textAlignment = .left
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:119:16: note: mutation of this property is only permitted within the actor
117 | /** Convenience method to just set the size of the font without changing the fontface. */
118 | @IBInspectable
119 | public var fontSize:CGFloat {
| `- note: mutation of this property is only permitted within the actor
120 | set {
121 | _fontSize = newValue
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:230:19: warning: main actor-isolated property 'textColor' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
228 | mathLabel.latex = latex
229 | mathLabel.fontSize = fontSize
230 | mathLabel.textColor = textColor
| `- warning: main actor-isolated property 'textColor' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
231 | mathLabel.textAlignment = .left
232 | mathLabel.labelMode = mode == .display ? .display : .text
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:131:16: note: mutation of this property is only permitted within the actor
129 | /** This sets the text color of the rendered math formula. The default color is black. */
130 | @IBInspectable
131 | public var textColor:MTColor? {
| `- note: mutation of this property is only permitted within the actor
132 | set {
133 | guard newValue != nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:231:19: warning: main actor-isolated property 'textAlignment' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
229 | mathLabel.fontSize = fontSize
230 | mathLabel.textColor = textColor
231 | mathLabel.textAlignment = .left
| `- warning: main actor-isolated property 'textAlignment' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
232 | mathLabel.labelMode = mode == .display ? .display : .text
233 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:169:16: note: mutation of this property is only permitted within the actor
167 |
168 | /** Horizontal alignment for the text. The default is align left. */
169 | public var textAlignment:MTTextAlignment {
| `- note: mutation of this property is only permitted within the actor
170 | set {
171 | _textAlignment = newValue
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:232:19: warning: main actor-isolated property 'labelMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
230 | mathLabel.textColor = textColor
231 | mathLabel.textAlignment = .left
232 | mathLabel.labelMode = mode == .display ? .display : .text
| `- warning: main actor-isolated property 'labelMode' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
233 |
234 | // Latin Modern Math gives the cleanest LaTeX glyphs at typical sizes.
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:158:16: note: mutation of this property is only permitted within the actor
156 |
157 | /** The Label mode for the label. The default mode is Display */
158 | public var labelMode:MTMathUILabelMode {
| `- note: mutation of this property is only permitted within the actor
159 | set {
160 | _labelMode = newValue
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:236:23: warning: main actor-isolated property 'font' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
234 | // Latin Modern Math gives the cleanest LaTeX glyphs at typical sizes.
235 | if let mathFont = MTFontManager().font(withName: "latinmodern-math", size: fontSize) {
236 | mathLabel.font = mathFont
| `- warning: main actor-isolated property 'font' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
237 | }
238 |
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:106:16: note: mutation of this property is only permitted within the actor
104 |
105 | /** The MTFont to use for rendering. */
106 | public var font:MTFont? {
| `- note: mutation of this property is only permitted within the actor
107 | set {
108 | guard newValue != nil else { return }
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:239:19: warning: call to main actor-isolated instance method 'layoutSubtreeIfNeeded()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
237 | }
238 |
239 | mathLabel.layoutSubtreeIfNeeded()
| `- warning: call to main actor-isolated instance method 'layoutSubtreeIfNeeded()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
240 |
241 | guard let displayList = mathLabel.displayList else { return nil }
AppKit.NSView.layoutSubtreeIfNeeded:3:24: note: calls to instance method 'layoutSubtreeIfNeeded()' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.7, *)
3 | @MainActor open func layoutSubtreeIfNeeded()}
| |- note: calls to instance method 'layoutSubtreeIfNeeded()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:241:43: warning: main actor-isolated property 'displayList' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
217 | }
218 |
219 | private func renderLatex(
| `- note: add '@MainActor' to make instance method 'renderLatex(_:mode:fontSize:textColor:)' part of global actor 'MainActor'
220 | _ latex: String,
221 | mode: LatexRenderMode,
:
239 | mathLabel.layoutSubtreeIfNeeded()
240 |
241 | guard let displayList = mathLabel.displayList else { return nil }
| `- warning: main actor-isolated property 'displayList' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
242 |
243 | // SwiftMath skips unsupported glyphs (e.g. emoji/raw Greek), which can yield
/Users/admin/builder/spi-builder-workspace/.build/checkouts/SwiftMath/Sources/SwiftMath/MathRender/MTMathUILabel.swift:180:16: note: property declared here
178 |
179 | /** The internal display of the MTMathUILabel. This is for advanced use only. */
180 | public var displayList: MTMathListDisplay? { _displayList }
| `- note: property declared here
181 | private var _displayList:MTMathListDisplay?
182 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:295:15: warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
288 | }
289 |
290 | private func renderLabelToRep(_ label: MTMathUILabel, size: CGSize) -> NSBitmapImageRep? {
| `- note: add '@MainActor' to make instance method 'renderLabelToRep(_:size:)' part of global actor 'MainActor'
291 | // `bitmapImageRepForCachingDisplay` + `cacheDisplay(in:to:)` is the
292 | // documented way to snapshot an NSView that isn't in a window. Setting
293 | // `wantsLayer = true` and `layer.render(in:)` snapshots the (empty)
294 | // backing layer instead of triggering MTMathUILabel's `draw(_:)`.
295 | label.frame = CGRect(origin: .zero, size: size)
| `- warning: main actor-isolated property 'frame' can not be mutated from a nonisolated context; this is an error in the Swift 6 language mode
296 | label.layoutSubtreeIfNeeded()
297 |
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:129:18: note: mutation of this property is only permitted within the actor
127 | - (void)setFrameOrigin:(NSPoint)newOrigin;
128 | - (void)setFrameSize:(NSSize)newSize;
129 | @property NSRect frame;
| `- note: mutation of this property is only permitted within the actor
130 | @property CGFloat frameRotation;
131 | @property CGFloat frameCenterRotation API_AVAILABLE(macos(10.5));
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:296:15: warning: call to main actor-isolated instance method 'layoutSubtreeIfNeeded()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 | }
289 |
290 | private func renderLabelToRep(_ label: MTMathUILabel, size: CGSize) -> NSBitmapImageRep? {
| `- note: add '@MainActor' to make instance method 'renderLabelToRep(_:size:)' part of global actor 'MainActor'
291 | // `bitmapImageRepForCachingDisplay` + `cacheDisplay(in:to:)` is the
292 | // documented way to snapshot an NSView that isn't in a window. Setting
:
294 | // backing layer instead of triggering MTMathUILabel's `draw(_:)`.
295 | label.frame = CGRect(origin: .zero, size: size)
296 | label.layoutSubtreeIfNeeded()
| `- warning: call to main actor-isolated instance method 'layoutSubtreeIfNeeded()' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
297 |
298 | guard let rep = label.bitmapImageRepForCachingDisplay(in: label.bounds) else { return nil }
AppKit.NSView.layoutSubtreeIfNeeded:3:24: note: calls to instance method 'layoutSubtreeIfNeeded()' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @available(macOS 10.7, *)
3 | @MainActor open func layoutSubtreeIfNeeded()}
| |- note: calls to instance method 'layoutSubtreeIfNeeded()' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
4 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:298:31: warning: call to main actor-isolated instance method 'bitmapImageRepForCachingDisplay(in:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 | }
289 |
290 | private func renderLabelToRep(_ label: MTMathUILabel, size: CGSize) -> NSBitmapImageRep? {
| `- note: add '@MainActor' to make instance method 'renderLabelToRep(_:size:)' part of global actor 'MainActor'
291 | // `bitmapImageRepForCachingDisplay` + `cacheDisplay(in:to:)` is the
292 | // documented way to snapshot an NSView that isn't in a window. Setting
:
296 | label.layoutSubtreeIfNeeded()
297 |
298 | guard let rep = label.bitmapImageRepForCachingDisplay(in: label.bounds) else { return nil }
| `- warning: call to main actor-isolated instance method 'bitmapImageRepForCachingDisplay(in:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
299 | label.cacheDisplay(in: label.bounds, to: rep)
300 | return rep
AppKit.NSView.bitmapImageRepForCachingDisplay:2:22: note: calls to instance method 'bitmapImageRepForCachingDisplay(in:)' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func bitmapImageRepForCachingDisplay(in rect: NSRect) -> NSBitmapImageRep?}
| |- note: calls to instance method 'bitmapImageRepForCachingDisplay(in:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:298:73: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
288 | }
289 |
290 | private func renderLabelToRep(_ label: MTMathUILabel, size: CGSize) -> NSBitmapImageRep? {
| `- note: add '@MainActor' to make instance method 'renderLabelToRep(_:size:)' part of global actor 'MainActor'
291 | // `bitmapImageRepForCachingDisplay` + `cacheDisplay(in:to:)` is the
292 | // documented way to snapshot an NSView that isn't in a window. Setting
:
296 | label.layoutSubtreeIfNeeded()
297 |
298 | guard let rep = label.bitmapImageRepForCachingDisplay(in: label.bounds) else { return nil }
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
299 | label.cacheDisplay(in: label.bounds, to: rep)
300 | return rep
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:299:15: warning: call to main actor-isolated instance method 'cacheDisplay(in:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
288 | }
289 |
290 | private func renderLabelToRep(_ label: MTMathUILabel, size: CGSize) -> NSBitmapImageRep? {
| `- note: add '@MainActor' to make instance method 'renderLabelToRep(_:size:)' part of global actor 'MainActor'
291 | // `bitmapImageRepForCachingDisplay` + `cacheDisplay(in:to:)` is the
292 | // documented way to snapshot an NSView that isn't in a window. Setting
:
297 |
298 | guard let rep = label.bitmapImageRepForCachingDisplay(in: label.bounds) else { return nil }
299 | label.cacheDisplay(in: label.bounds, to: rep)
| `- warning: call to main actor-isolated instance method 'cacheDisplay(in:to:)' in a synchronous nonisolated context; this is an error in the Swift 6 language mode
300 | return rep
301 | }
AppKit.NSView.cacheDisplay:2:22: note: calls to instance method 'cacheDisplay(in:to:)' from outside of its actor context are implicitly asynchronous
1 | class NSView {
2 | @MainActor open func cacheDisplay(in rect: NSRect, to bitmapImageRep: NSBitmapImageRep)}
| |- note: calls to instance method 'cacheDisplay(in:to:)' from outside of its actor context are implicitly asynchronous
| `- note: main actor isolation inferred from inheritance from class 'NSResponder'
3 |
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:299:38: warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
288 | }
289 |
290 | private func renderLabelToRep(_ label: MTMathUILabel, size: CGSize) -> NSBitmapImageRep? {
| `- note: add '@MainActor' to make instance method 'renderLabelToRep(_:size:)' part of global actor 'MainActor'
291 | // `bitmapImageRepForCachingDisplay` + `cacheDisplay(in:to:)` is the
292 | // documented way to snapshot an NSView that isn't in a window. Setting
:
297 |
298 | guard let rep = label.bitmapImageRepForCachingDisplay(in: label.bounds) else { return nil }
299 | label.cacheDisplay(in: label.bounds, to: rep)
| `- warning: main actor-isolated property 'bounds' can not be referenced from a nonisolated context; this is an error in the Swift 6 language mode
300 | return rep
301 | }
/Applications/Xcode-16.3.0.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.4.sdk/System/Library/Frameworks/AppKit.framework/Headers/NSView.h:139:18: note: property declared here
137 | - (void)scaleUnitSquareToSize:(NSSize)newUnitSize;
138 | - (void)rotateByAngle:(CGFloat)angle;
139 | @property NSRect bounds;
| `- note: property declared here
140 |
141 | @property (getter=isFlipped, readonly) BOOL flipped;
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:299:15: warning: sending 'rep' risks causing data races; this is an error in the Swift 6 language mode
297 |
298 | guard let rep = label.bitmapImageRepForCachingDisplay(in: label.bounds) else { return nil }
299 | label.cacheDisplay(in: label.bounds, to: rep)
| |- warning: sending 'rep' risks causing data races; this is an error in the Swift 6 language mode
| `- note: sending 'rep' to main actor-isolated instance method 'cacheDisplay(in:to:)' risks causing data races between main actor-isolated and local nonisolated uses
300 | return rep
| `- note: access can happen concurrently
301 | }
302 |
[377/377] Emitting module MarkdownEngineLatex
/Users/admin/builder/spi-builder-workspace/Sources/MarkdownEngineLatex/SwiftMathBridge.swift:64:22: warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
62 | /// init, so a fresh label per formula doubles the per-formula label overhead.
63 | /// render() is main-thread-only (it reads NSApp), so a single shared label is safe.
64 | private lazy var reusableLabel = MTMathUILabel()
| `- warning: main actor-isolated default value in a nonisolated context; this is an error in the Swift 6 language mode
65 |
66 | /// - Parameter singleLetterPaddingBottom: Extra bottom padding (in
Build complete! (22.13s)
Fetching https://github.com/mgriebling/SwiftMath
Fetching https://github.com/smittytone/HighlighterSwift
[1/1377] Fetching highlighterswift
[15/3746] Fetching highlighterswift, swiftmath
Fetched https://github.com/smittytone/HighlighterSwift from cache (2.12s)
Fetched https://github.com/mgriebling/SwiftMath from cache (2.13s)
Computing version for https://github.com/mgriebling/SwiftMath
Computed https://github.com/mgriebling/SwiftMath at 1.7.3 (5.48s)
Computing version for https://github.com/smittytone/HighlighterSwift
Computed https://github.com/smittytone/HighlighterSwift at 3.1.0 (0.53s)
Creating working copy for https://github.com/mgriebling/SwiftMath
Working copy of https://github.com/mgriebling/SwiftMath resolved at 1.7.3
Creating working copy for https://github.com/smittytone/HighlighterSwift
Working copy of https://github.com/smittytone/HighlighterSwift resolved at 3.1.0
Build complete.
{
"dependencies" : [
{
"identity" : "highlighterswift",
"requirement" : {
"range" : [
{
"lower_bound" : "3.0.0",
"upper_bound" : "4.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/smittytone/HighlighterSwift"
},
{
"identity" : "swiftmath",
"requirement" : {
"range" : [
{
"lower_bound" : "1.7.0",
"upper_bound" : "2.0.0"
}
]
},
"type" : "sourceControl",
"url" : "https://github.com/mgriebling/SwiftMath"
}
],
"manifest_display_name" : "MarkdownEngine",
"name" : "MarkdownEngine",
"path" : "/Users/admin/builder/spi-builder-workspace",
"platforms" : [
{
"name" : "macos",
"version" : "14.0"
}
],
"products" : [
{
"name" : "MarkdownEngine",
"targets" : [
"MarkdownEngine"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MarkdownEngineCodeBlocks",
"targets" : [
"MarkdownEngineCodeBlocks"
],
"type" : {
"library" : [
"automatic"
]
}
},
{
"name" : "MarkdownEngineLatex",
"targets" : [
"MarkdownEngineLatex"
],
"type" : {
"library" : [
"automatic"
]
}
}
],
"targets" : [
{
"c99name" : "MarkdownEngineTests",
"module_type" : "SwiftTarget",
"name" : "MarkdownEngineTests",
"path" : "Tests/MarkdownEngineTests",
"sources" : [
"ASTPipelineTests.swift",
"BacktickCensusTests.swift",
"BlockBackgroundFillTests.swift",
"BlockExtensionTests.swift",
"BlockParserTests.swift",
"BlockquotePasteTests.swift",
"BottomOverscrollPolicyTests.swift",
"CaretColorTests.swift",
"ClampedScrollViewElasticityTests.swift",
"CodeBlockSelectionStaleCacheTests.swift",
"ContextMenuBindingTests.swift",
"CorrectionUnderlineTests.swift",
"DirectiveArgumentTests.swift",
"DirectiveCompletionCoordinatorTests.swift",
"DirectiveCompletionTests.swift",
"DirectiveCompositionTests.swift",
"DirectiveGlyphTests.swift",
"DirectiveHTMLTests.swift",
"DirectiveParserTests.swift",
"DirectivePerformanceTests.swift",
"DirectiveStylingTests.swift",
"DirectiveTestFixtures.swift",
"FenceInteriorIncrementalTests.swift",
"FindHighlightRestoreTests.swift",
"FlattenedRunsTests.swift",
"FocusBindingTests.swift",
"FormattingActionTests.swift",
"GoldenCorpusTests.swift",
"HTMLToMarkdownConverterTests.swift",
"HeightBehaviorTests.swift",
"InlineParserTests.swift",
"InlineSpanDensityTests.swift",
"InterceptorStorageSyncTests.swift",
"InterceptorTrustTests.swift",
"InvertedIBeamCursorTests.swift",
"LatexRenderModeTests.swift",
"ListHandlerCodeContextTests.swift",
"ListParsingTests.swift",
"MarkdownASTStylerTests.swift",
"MarkdownHTMLRendererTests.swift",
"MarkdownPasteboardWriterTests.swift",
"MarkdownTextMutationTests.swift",
"NativeTextViewContainerTests.swift",
"OrderedListDisplayNumberingTests.swift",
"ParseIncrementalEquivalenceTests.swift",
"PasteStructureGuardTests.swift",
"PerDocumentUndoTests.swift",
"PrecomputedBlocksTests.swift",
"QuoteSubstitutionPolicyTests.swift",
"RawSourceModeTests.swift",
"RebuildSelectionReplayTests.swift",
"RestyleApplyEquivalenceTests.swift",
"ScopedListRestyleEquivalenceTests.swift",
"ScrollMemoryTests.swift",
"ScrollingHeaderControllerTests.swift",
"TableCellSourceTests.swift",
"TableCellTests.swift",
"TableHiddenSourceGeometryTests.swift",
"TableImageCacheTests.swift",
"TableScopeSkipTests.swift",
"TableWidthChangeRestyleTests.swift",
"TableWrappingTests.swift",
"ThematicBreakMarkTests.swift",
"WikiLinkIncrementalTests.swift"
],
"target_dependencies" : [
"MarkdownEngine"
],
"type" : "test"
},
{
"c99name" : "MarkdownEngineLatexTests",
"module_type" : "SwiftTarget",
"name" : "MarkdownEngineLatexTests",
"path" : "Tests/MarkdownEngineLatexTests",
"sources" : [
"SwiftMathBridgeModeTests.swift"
],
"target_dependencies" : [
"MarkdownEngine",
"MarkdownEngineLatex"
],
"type" : "test"
},
{
"c99name" : "MarkdownEngineLatex",
"module_type" : "SwiftTarget",
"name" : "MarkdownEngineLatex",
"path" : "Sources/MarkdownEngineLatex",
"product_dependencies" : [
"SwiftMath"
],
"product_memberships" : [
"MarkdownEngineLatex"
],
"sources" : [
"SwiftMathBridge.swift"
],
"target_dependencies" : [
"MarkdownEngine"
],
"type" : "library"
},
{
"c99name" : "MarkdownEngineCodeBlocks",
"module_type" : "SwiftTarget",
"name" : "MarkdownEngineCodeBlocks",
"path" : "Sources/MarkdownEngineCodeBlocks",
"product_dependencies" : [
"Highlighter"
],
"product_memberships" : [
"MarkdownEngineCodeBlocks"
],
"sources" : [
"HighlighterSwiftBridge.swift"
],
"target_dependencies" : [
"MarkdownEngine"
],
"type" : "library"
},
{
"c99name" : "MarkdownEngine",
"module_type" : "SwiftTarget",
"name" : "MarkdownEngine",
"path" : "Sources/MarkdownEngine",
"product_memberships" : [
"MarkdownEngine",
"MarkdownEngineCodeBlocks",
"MarkdownEngineLatex"
],
"sources" : [
"Configuration/MarkdownEditorConfiguration.swift",
"Configuration/MarkdownEditorTheme.swift",
"Diagnostics/PerfTrace.swift",
"Directives/BuiltinDirectives.swift",
"Directives/DirectiveArguments.swift",
"Directives/DirectiveCompletionScanner.swift",
"Directives/DirectiveRegistry.swift",
"Directives/DirectiveScanner.swift",
"Directives/MarkdownDirective.swift",
"Extensions/ContainerExtension.swift",
"Extensions/HighlightExtension.swift",
"Extensions/MarkdownExtension.swift",
"Extensions/StrikethroughExtension.swift",
"Input/MarkdownInputHandler.swift",
"Input/MarkdownListHandler.swift",
"Parser/BlockLevelTokenizer.swift",
"Parser/BlockParser.swift",
"Parser/BlockScopedTokenizer.swift",
"Parser/DocumentParseState.swift",
"Parser/InlineASTAdapter.swift",
"Parser/InlineParser.swift",
"Parser/MarkdownAST.swift",
"Parser/MarkdownDetection.swift",
"Parser/MarkdownToken.swift",
"Parser/MarkdownTokenizer.swift",
"Renderer/EmbeddedImageCache.swift",
"Renderer/LayoutBridge.swift",
"Renderer/MarkdownHTMLRenderer.swift",
"Renderer/MarkdownTextLayoutFragment.swift",
"Renderer/TaskCheckboxGeometry.swift",
"Renderer/WideTableOverlay.swift",
"Services/MarkdownEditorServices.swift",
"Services/WikiLinkService.swift",
"Styling/HeadingHelpers.swift",
"Styling/MarkdownASTStyler+Directives.swift",
"Styling/MarkdownASTStyler.swift",
"Styling/MarkdownStyler+BulletMarkers.swift",
"Styling/MarkdownStyler+Images.swift",
"Styling/MarkdownStyler+Latex.swift",
"Styling/MarkdownStyler+OrderedMarkers.swift",
"Styling/MarkdownStyler+Tables.swift",
"Styling/MarkdownStyler+TaskCheckboxes.swift",
"Styling/MarkdownStyler.swift",
"Styling/TextStylingService.swift",
"TextView/BottomOverscrollPolicy.swift",
"TextView/ClampedScrollView.swift",
"TextView/CodeBlockButton.swift",
"TextView/ContextMenu.swift",
"TextView/Coordinator/NativeTextViewCoordinator+Autocorrect.swift",
"TextView/Coordinator/NativeTextViewCoordinator+CaretColor.swift",
"TextView/Coordinator/NativeTextViewCoordinator+CodeBlocks.swift",
"TextView/Coordinator/NativeTextViewCoordinator+Directives.swift",
"TextView/Coordinator/NativeTextViewCoordinator+Find.swift",
"TextView/Coordinator/NativeTextViewCoordinator+InlineSelection.swift",
"TextView/Coordinator/NativeTextViewCoordinator+Notifications.swift",
"TextView/Coordinator/NativeTextViewCoordinator+Restyling.swift",
"TextView/Coordinator/NativeTextViewCoordinator+TextDelegate.swift",
"TextView/Coordinator/NativeTextViewCoordinator+WikiLinkSnapback.swift",
"TextView/Coordinator/NativeTextViewCoordinator+WritingTools.swift",
"TextView/Coordinator/NativeTextViewCoordinator.swift",
"TextView/HTMLToMarkdownConverter.swift",
"TextView/MarkdownPasteboardWriter.swift",
"TextView/MarkdownTextMutation.swift",
"TextView/NativeTextView/InvertedIBeamCursor.swift",
"TextView/NativeTextView/NativeTextView+CaretWorkarounds.swift",
"TextView/NativeTextView/NativeTextView+ClickRemap.swift",
"TextView/NativeTextView/NativeTextView+CmdReturn.swift",
"TextView/NativeTextView/NativeTextView+Copy.swift",
"TextView/NativeTextView/NativeTextView+CorrectionUnderlines.swift",
"TextView/NativeTextView/NativeTextView+CursorRects.swift",
"TextView/NativeTextView/NativeTextView+DragSelectBoost.swift",
"TextView/NativeTextView/NativeTextView+FrameAndOverscroll.swift",
"TextView/NativeTextView/NativeTextView+PasteHandling.swift",
"TextView/NativeTextView/NativeTextView+Placeholder.swift",
"TextView/NativeTextView/NativeTextView+SpellingPolicy.swift",
"TextView/NativeTextView/NativeTextView+SpellingToggles.swift",
"TextView/NativeTextView/NativeTextView+TaskCheckbox.swift",
"TextView/NativeTextView/NativeTextView.swift",
"TextView/NativeTextViewContainer.swift",
"TextView/NativeTextViewSelectionTypes.swift",
"TextView/NativeTextViewWrapper.swift",
"TextView/PasteboardImageReader.swift",
"TextView/ScrollingHeaderController.swift"
],
"type" : "library"
}
],
"tools_version" : "5.9"
}
Done.