File tree Expand file tree Collapse file tree 2 files changed +12
-4
lines changed
apps/macos/Sources/Clawdbot Expand file tree Collapse file tree 2 files changed +12
-4
lines changed Original file line number Diff line number Diff line change @@ -23,6 +23,7 @@ Status: unreleased.
2323- Telegram: keep topic IDs in restart sentinel notifications. (#1807 ) Thanks @hsrvc .
2424- Config: apply config.env before ${VAR} substitution. (#1813 ) Thanks @spanishflu-est1918 .
2525- Slack: clear ack reaction after streamed replies. (#2044 ) Thanks @fancyboi999 .
26+ - macOS: keep custom SSH usernames in remote target. (#2046 ) Thanks @algal .
2627
2728## 2026.1.24-3
2829
Original file line number Diff line number Diff line change @@ -413,10 +413,17 @@ final class AppState {
413413 }
414414
415415 private func updateRemoteTarget( host: String ) {
416- let parsed = CommandResolver . parseSSHTarget ( self . remoteTarget)
417- let user = parsed? . user ?? NSUserName ( )
418- let port = parsed? . port ?? 22
419- let assembled = port == 22 ? " \( user) @ \( host) " : " \( user) @ \( host) : \( port) "
416+ let trimmed = self . remoteTarget. trimmingCharacters ( in: . whitespacesAndNewlines)
417+ guard let parsed = CommandResolver . parseSSHTarget ( trimmed) else { return }
418+ let trimmedUser = parsed. user? . trimmingCharacters ( in: . whitespacesAndNewlines)
419+ let user = ( trimmedUser? . isEmpty ?? true ) ? nil : trimmedUser
420+ let port = parsed. port
421+ let assembled : String
422+ if let user {
423+ assembled = port == 22 ? " \( user) @ \( host) " : " \( user) @ \( host) : \( port) "
424+ } else {
425+ assembled = port == 22 ? host : " \( host) : \( port) "
426+ }
420427 if assembled != self . remoteTarget {
421428 self . remoteTarget = assembled
422429 }
You can’t perform that action at this time.
0 commit comments