From 9d751e0c72aab6c38a790642883d5f94f31d7254 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Sun, 7 Dec 2025 23:34:49 +0100 Subject: [PATCH] ui: place health row under remote picker and improve timeout message --- apps/macos/Sources/Clawdis/GeneralSettings.swift | 4 +++- apps/macos/Sources/Clawdis/HealthStore.swift | 4 ++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/apps/macos/Sources/Clawdis/GeneralSettings.swift b/apps/macos/Sources/Clawdis/GeneralSettings.swift index d6f982293..c70b8b895 100644 --- a/apps/macos/Sources/Clawdis/GeneralSettings.swift +++ b/apps/macos/Sources/Clawdis/GeneralSettings.swift @@ -90,11 +90,13 @@ var body: some View { Text("Remote over SSH").tag(AppState.ConnectionMode.remote) } .pickerStyle(.segmented) - .frame(width: 320) + .frame(width: 360) if self.state.connectionMode == .remote { self.remoteCard } + + self.healthRow } } diff --git a/apps/macos/Sources/Clawdis/HealthStore.swift b/apps/macos/Sources/Clawdis/HealthStore.swift index 3dfef8d8e..2f77ad2e7 100644 --- a/apps/macos/Sources/Clawdis/HealthStore.swift +++ b/apps/macos/Sources/Clawdis/HealthStore.swift @@ -155,6 +155,10 @@ final class HealthStore: ObservableObject { return "Not linked — run clawdis login" } if let connect = snap.web.connect, !connect.ok { + if let err = connect.error, err.contains("timeout") { + let elapsed = connect.elapsedMs.map { " after \(Int($0))ms" } ?? "" + return "Web connect timed out\(elapsed)" + } let code = connect.status.map { "status \($0)" } ?? "status unknown" let elapsed = connect.elapsedMs.map { "\(Int($0))ms" } ?? "unknown duration" let reason = connect.error ?? "connect failed"