Fix remote proxy notification spam with cooldown, backoff, and SSH keepalive (#2325) (#2330)

- Add 5-minute per-host cooldown for remote error notifications
- Add exponential backoff (capped at 60s) to proxy broker and session controller retries
- Add default SSH ConnectTimeout/ServerAliveInterval/ServerAliveCountMax to detect dead connections faster
- Fix error status clearing to only reset on actual .connected state

Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Austin Wang 2026-03-29 18:07:39 -07:00 committed by GitHub
parent 9e75355525
commit e419fd9164
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 100 additions and 24 deletions

View file

@ -4163,6 +4163,15 @@ struct CMUXCLI {
remoteRelayPort: options.remoteRelayPort
)
var parts: [String] = ["ssh"]
if !hasSSHOptionKey(effectiveSSHOptions, key: "ConnectTimeout") {
parts += ["-o", "ConnectTimeout=6"]
}
if !hasSSHOptionKey(effectiveSSHOptions, key: "ServerAliveInterval") {
parts += ["-o", "ServerAliveInterval=20"]
}
if !hasSSHOptionKey(effectiveSSHOptions, key: "ServerAliveCountMax") {
parts += ["-o", "ServerAliveCountMax=2"]
}
if !hasSSHOptionKey(effectiveSSHOptions, key: "SetEnv") {
parts += ["-o", "SetEnv COLORTERM=truecolor"]
}