feat(macos): add Swift 6 strict concurrency compatibility#166
Merged
steipete merged 1 commit intoopenclaw:mainfrom Jan 4, 2026
Merged
feat(macos): add Swift 6 strict concurrency compatibility#166steipete merged 1 commit intoopenclaw:mainfrom
steipete merged 1 commit intoopenclaw:mainfrom
Conversation
Prepares the macOS app for Swift 6 strict concurrency mode by:
1. Adding Sendable conformance to WizardNextResult, WizardStartResult,
and WizardStatusResult in GatewayModels.swift
2. Adding AnyCodable bridging helpers in OnboardingWizard.swift to
handle type conflicts between ClawdisProtocol and local module
3. Making CLLocationManagerDelegate methods nonisolated in:
- MacNodeLocationService.swift
- PermissionManager.swift (LocationPermissionRequester)
Using Task { @mainactor in } pattern to safely access MainActor
state from nonisolated protocol requirements.
These changes are forward-compatible and don't affect behavior on
current Swift versions.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
b6d2102 to
d32b77b
Compare
Contributor
|
Ohh that was not on! shame on me! |
steipete
added a commit
that referenced
this pull request
Jan 4, 2026
steipete
added a commit
that referenced
this pull request
Jan 4, 2026
KristijanJovanovski
added a commit
to KristijanJovanovski/clawdbot
that referenced
this pull request
Jan 10, 2026
Applies the same Swift 6 compatibility patterns from PR openclaw#166 (macOS) to the iOS app. Changes: - LocationService.swift: Added Sendable constraint to withTimeout<T> generic, made CLLocationManagerDelegate methods nonisolated with Task { @mainactor in } pattern to safely access MainActor state - TalkModeManager.swift: Fixed OSLog string interpolation to avoid operator overload issues with OSLogMessage in Swift 6 Addresses openclaw#164 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
3 tasks
steipete
pushed a commit
that referenced
this pull request
Jan 10, 2026
Applies the same Swift 6 compatibility patterns from PR #166 (macOS) to the iOS app. Changes: - LocationService.swift: Added Sendable constraint to withTimeout<T> generic, made CLLocationManagerDelegate methods nonisolated with Task { @mainactor in } pattern to safely access MainActor state - TalkModeManager.swift: Fixed OSLog string interpolation to avoid operator overload issues with OSLogMessage in Swift 6 Addresses #164 Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
dgarson
referenced
this pull request
in dgarson/clawdbot
Feb 7, 2026
joshp123
pushed a commit
to joshp123/clawdis
that referenced
this pull request
Feb 11, 2026
slathrop
referenced
this pull request
in slathrop/openclaw-js
Feb 11, 2026
Tasks completed: 2/2 - Port quote context + QUOTE_TEXT_INVALID fix (commit #163) - Port CI-safe types + cleanup + nested fix (commits #164, #165, #166) SUMMARY: .planning/phases/14-telegram-channels/14-06-SUMMARY.md
This was referenced Feb 20, 2026
dgarson
referenced
this pull request
in dgarson/clawdbot
Feb 22, 2026
…portingDashboard, OpenAPIExplorer, DataLineageViewer, DatabaseSchemaViewer (+ message-queues)
dominicnunez
pushed a commit
to dominicnunez/openclaw
that referenced
this pull request
Feb 26, 2026
cael-dandelion-cult
added a commit
to karmaterminal/openclaw
that referenced
this pull request
Mar 4, 2026
ronan-dandelion-cult
pushed a commit
to karmaterminal/openclaw
that referenced
this pull request
Mar 4, 2026
…penclaw#166) - Replace truthy guard (!totalTokens) with explicit <= 0 check Catches negative, zero, and NaN (NaN fails all comparisons) 'Correct by accident' is not good enough for upstream review - Add NaN totalTokens test case - Add JSDoc on test helper explaining partial mock pattern 27/27 tests pass.
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
zooqueen
pushed a commit
to hanzoai/bot
that referenced
this pull request
Mar 6, 2026
Applies the same Swift 6 compatibility patterns from PR openclaw#166 (macOS) to the iOS app. Changes: - LocationService.swift: Added Sendable constraint to withTimeout<T> generic, made CLLocationManagerDelegate methods nonisolated with Task { @mainactor in } pattern to safely access MainActor state - TalkModeManager.swift: Fixed OSLog string interpolation to avoid operator overload issues with OSLogMessage in Swift 6 Addresses openclaw#164
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Prepares the macOS app for Swift 6 strict concurrency mode (Xcode 26+). These changes are forward-compatible and don't affect behavior on current Swift versions.
Changes:
GatewayModels.swift: Added
Sendableconformance toWizardNextResult,WizardStartResult, andWizardStatusResultOnboardingWizard.swift: Added AnyCodable bridging helpers to handle type conflicts between ClawdisProtocol and local module under strict concurrency
MacNodeLocationService.swift & PermissionManager.swift: Made
CLLocationManagerDelegatemethodsnonisolatedwithTask { @MainActor in }pattern to safely access MainActor state from protocol requirementsRelated Issue
Addresses #164 (Swift 6 / Xcode 26 compatibility) - forward-compatibility changes
Test Plan
🤖 Generated with Claude Code