murky 8270 retries
This commit is contained in:
@@ -194,6 +194,7 @@ final class Tailnet {
|
||||
private(set) var searched = false
|
||||
private(set) var peers: Set<String> = []
|
||||
@ObservationIgnored private var servers: [URL] = []
|
||||
@ObservationIgnored var serviceWatchers = 0
|
||||
|
||||
var running: Bool {
|
||||
state == "Running"
|
||||
@@ -232,7 +233,13 @@ final class Tailnet {
|
||||
|
||||
private func watchService() async {
|
||||
var loopback: URL?
|
||||
var asked: ContinuousClock.Instant?
|
||||
while true {
|
||||
if serviceWatchers == 0, let asked, asked.duration(to: .now) < .seconds(30) {
|
||||
try? await Task.sleep(for: .seconds(2))
|
||||
continue
|
||||
}
|
||||
asked = .now
|
||||
if loopback == nil {
|
||||
do {
|
||||
loopback = URL(string: try await Server.checks().loopback)
|
||||
@@ -314,6 +321,12 @@ struct TailnetLoginView: View {
|
||||
.frame(width: 460)
|
||||
.padding(.vertical, 24)
|
||||
.frame(maxWidth: .infinity, maxHeight: .infinity)
|
||||
.onAppear {
|
||||
Tailnet.shared.serviceWatchers += 1
|
||||
}
|
||||
.onDisappear {
|
||||
Tailnet.shared.serviceWatchers -= 1
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user