perf: move gateway env checks off main
This commit is contained in:
@@ -142,7 +142,12 @@ final class GatewayProcessManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func refreshEnvironmentStatus() {
|
func refreshEnvironmentStatus() {
|
||||||
self.environmentStatus = GatewayEnvironment.check()
|
Task {
|
||||||
|
let status = await Task.detached(priority: .utility) {
|
||||||
|
GatewayEnvironment.check()
|
||||||
|
}.value
|
||||||
|
self.environmentStatus = status
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// MARK: - Internals
|
// MARK: - Internals
|
||||||
@@ -189,7 +194,9 @@ final class GatewayProcessManager {
|
|||||||
self.status = .starting
|
self.status = .starting
|
||||||
}
|
}
|
||||||
self.existingGatewayDetails = nil
|
self.existingGatewayDetails = nil
|
||||||
let resolution = GatewayEnvironment.resolveGatewayCommand()
|
let resolution = await Task.detached(priority: .utility) {
|
||||||
|
GatewayEnvironment.resolveGatewayCommand()
|
||||||
|
}.value
|
||||||
await MainActor.run { self.environmentStatus = resolution.status }
|
await MainActor.run { self.environmentStatus = resolution.status }
|
||||||
guard let command = resolution.command else {
|
guard let command = resolution.command else {
|
||||||
await MainActor.run {
|
await MainActor.run {
|
||||||
|
|||||||
@@ -382,7 +382,12 @@ struct GeneralSettings: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func refreshGatewayStatus() {
|
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 {
|
private func installGateway() async {
|
||||||
|
|||||||
@@ -1235,7 +1235,12 @@ struct OnboardingView: View {
|
|||||||
}
|
}
|
||||||
|
|
||||||
private func refreshGatewayStatus() {
|
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 {
|
private func installGateway() async {
|
||||||
|
|||||||
Reference in New Issue
Block a user