perf: move gateway env checks off main
This commit is contained in:
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user