From dbf36d82eedbc08c4b965733fdf6a4ef561ef13c Mon Sep 17 00:00:00 2001 From: Alvie Stoddard Date: Wed, 12 Aug 2026 21:46:17 -0700 Subject: [PATCH 1/2] Keep direct builds concurrency-warning free --- Sources/Pesty/Monitor/PasteService.swift | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Sources/Pesty/Monitor/PasteService.swift b/Sources/Pesty/Monitor/PasteService.swift index 4645f5f..9621c01 100644 --- a/Sources/Pesty/Monitor/PasteService.swift +++ b/Sources/Pesty/Monitor/PasteService.swift @@ -102,8 +102,10 @@ enum PasteService { @discardableResult static func ensureAccessibility(prompt: Bool) -> Bool { - let key = kAXTrustedCheckOptionPrompt.takeUnretainedValue() as String - let opts = [key: prompt] as CFDictionary + // The SDK imports kAXTrustedCheckOptionPrompt as shared mutable state, + // which is unsafe under complete concurrency checking. Its documented + // dictionary-key value is stable, so avoid touching that global. + let opts = ["AXTrustedCheckOptionPrompt": prompt] as CFDictionary return AXIsProcessTrustedWithOptions(opts) } #endif From ddfc684089b1cebfbfa542125031b2bad1417b06 Mon Sep 17 00:00:00 2001 From: Alvie Stoddard Date: Wed, 12 Aug 2026 21:46:27 -0700 Subject: [PATCH 2/2] Expand CI safety gates --- .github/workflows/ci.yml | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 606d8fa..b2847b4 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -19,10 +19,25 @@ jobs: xcode-version: '26.3' - name: Show toolchain - run: swift --version + run: | + xcodebuild -version + xcrun --sdk macosx --show-sdk-version + swift --version - - name: Build (debug) - run: swift build -v + - name: Check whitespace + run: git diff --check + + - name: Run tests + run: swift test + + - name: Build direct app + run: swift build + + - name: Build MAS configuration + run: swift build -Xswiftc -DMAS - name: Build app bundle run: VERSION=0.0.0 BUILD=ci ./scripts/build_app.sh + + - name: Verify universal executable + run: /usr/bin/lipo packaging/Pesty.app/Contents/MacOS/Pesty -verify_arch arm64 x86_64