diff --git a/apps/macos/Sources/Clawdis/GatewayProcessManager.swift b/apps/macos/Sources/Clawdis/GatewayProcessManager.swift index 441b84be6..aa9532290 100644 --- a/apps/macos/Sources/Clawdis/GatewayProcessManager.swift +++ b/apps/macos/Sources/Clawdis/GatewayProcessManager.swift @@ -142,7 +142,12 @@ final class GatewayProcessManager { } func refreshEnvironmentStatus() { - self.environmentStatus = GatewayEnvironment.check() + Task { + let status = await Task.detached(priority: .utility) { + GatewayEnvironment.check() + }.value + self.environmentStatus = status + } } // MARK: - Internals @@ -189,7 +194,9 @@ final class GatewayProcessManager { self.status = .starting } self.existingGatewayDetails = nil - let resolution = GatewayEnvironment.resolveGatewayCommand() + let resolution = await Task.detached(priority: .utility) { + GatewayEnvironment.resolveGatewayCommand() + }.value await MainActor.run { self.environmentStatus = resolution.status } guard let command = resolution.command else { await MainActor.run { diff --git a/apps/macos/Sources/Clawdis/GeneralSettings.swift b/apps/macos/Sources/Clawdis/GeneralSettings.swift index 390706559..a6a20126d 100644 --- a/apps/macos/Sources/Clawdis/GeneralSettings.swift +++ b/apps/macos/Sources/Clawdis/GeneralSettings.swift @@ -382,7 +382,12 @@ struct GeneralSettings: View { } private func refreshGatewayStatus() { - self.gatewayStatus = GatewayEnvironment.check() + Task { + let status = await Task.detached(priority: .utility) { + GatewayEnvironment.check() + }.value + self.gatewayStatus = status + } } private func installGateway() async { diff --git a/apps/macos/Sources/Clawdis/Onboarding.swift b/apps/macos/Sources/Clawdis/Onboarding.swift index 4dc73fae6..238a636b6 100644 --- a/apps/macos/Sources/Clawdis/Onboarding.swift +++ b/apps/macos/Sources/Clawdis/Onboarding.swift @@ -1235,7 +1235,12 @@ struct OnboardingView: View { } private func refreshGatewayStatus() { - self.gatewayStatus = GatewayEnvironment.check() + Task { + let status = await Task.detached(priority: .utility) { + GatewayEnvironment.check() + }.value + self.gatewayStatus = status + } } private func installGateway() async {