perf: move gateway env checks off main

This commit is contained in:
Peter Steinberger
2025-12-19 17:54:18 +01:00
parent a019d3cd83
commit 5e7d12fefa
3 changed files with 21 additions and 4 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {