fix: clarify SSH test failure

This commit is contained in:
Peter Steinberger
2025-12-20 14:02:00 +01:00
parent 1ab69948a5
commit 7ce12863b8

View File

@@ -546,8 +546,7 @@ extension GeneralSettings {
timeout: 8)
guard sshResult.ok else {
let msg = sshResult.message ?? "SSH check failed"
self.remoteStatus = .failed(msg)
self.remoteStatus = .failed(self.formatSSHFailure(sshResult))
return
}
@@ -588,6 +587,24 @@ extension GeneralSettings {
return args
}
private func formatSSHFailure(_ response: Response) -> String {
let payload = response.payload.flatMap { String(data: $0, encoding: .utf8) }
let trimmed = payload?
.trimmingCharacters(in: .whitespacesAndNewlines)
.split(whereSeparator: \.isNewline)
.joined(separator: " ")
if let trimmed, !trimmed.isEmpty {
if let message = response.message, message.hasPrefix("exit ") {
return "SSH check failed: \(trimmed) (\(message))"
}
return "SSH check failed: \(trimmed)"
}
if let message = response.message {
return "SSH check failed (\(message))"
}
return "SSH check failed"
}
private func revealLogs() {
let target = LogLocator.bestLogFile()