feat(mac): add node ssh and compact versions

This commit is contained in:
Peter Steinberger
2025-12-26 20:42:49 +00:00
parent 90d00fb095
commit ec392dc870
3 changed files with 130 additions and 1 deletions

View File

@@ -38,7 +38,10 @@ struct NodeMenuEntryFormatter {
static func detailRight(_ entry: InstanceInfo) -> String? {
var parts: [String] = []
if let platform = self.platformText(entry) { parts.append(platform) }
if let version = entry.version?.nonEmpty { parts.append("v\(version)") }
if let version = entry.version?.nonEmpty {
let short = self.compactVersion(version)
parts.append("v\(short)")
}
if parts.isEmpty { return nil }
return parts.joined(separator: " · ")
}
@@ -84,6 +87,18 @@ struct NodeMenuEntryFormatter {
return (prefix, versionToken)
}
private static func compactVersion(_ raw: String) -> String {
let trimmed = raw.trimmingCharacters(in: .whitespacesAndNewlines)
guard !trimmed.isEmpty else { return trimmed }
if let range = trimmed.range(
of: #"\s*\([^)]*\d[^)]*\)$"#,
options: .regularExpression
) {
return String(trimmed[..<range.lowerBound])
}
return trimmed
}
static func leadingSymbol(_ entry: InstanceInfo) -> String {
if self.isGateway(entry) { return self.safeSystemSymbol("dot.radiowaves.left.and.right", fallback: "network") }
if let family = entry.deviceFamily?.lowercased() {