Skip to content

fix: recover stalled Cloud connections and report live status - #476

Merged
renyuanz merged 1 commit into
mainfrom
fix/cloud-connection-recovery
Sep 12, 2026
Merged

renyuanz merged 1 commit into
mainfrom
fix/cloud-connection-recovery

Conversation

@renyuanz

@renyuanz renyuanz commented Sep 12, 2026

Copy link
Copy Markdown
Contributor

A Cloud connector could remain alive while repeatedly dialing stale edge addresses, leaving encrypted pairing unavailable until a manual restart. The local service now supervises the connector, probes the pinned encrypted route, and replaces it after three consecutive failures when the local Hub remains reachable. Restarts back off from 15 seconds to 10 minutes and reset after five minutes of healthy checks; shutdown kills and reaps the child, and the registration lock remains inherited by the connector.

Cloud status now requires a fresh encrypted identity and route check before claiming verification. The desktop panel refreshes visible status and clears readiness after a failed refresh. Previously verified addresses and pairings are retained for reconnection. No private Cloud service code or credentials are included.

Prepares App 0.7.4 and Hub/CLI 0.21.4, including the mobile navigation already merged in #475. README, website and troubleshooting instructions describe the resulting behavior.

Validation:

  • Hub tests: 175 passed plus the CLI encrypted-preflight integration test; the optional official-cloudflared ingress validation also passed.
  • App TypeScript check and 21 installer/download routing tests passed.
  • Container Chromium regression: 8 passed, including Cloud setup, loss/recovery of readiness, and narrow/wide mobile navigation.
  • Process tests cover sustained outages, replacement/reaping, child exit, interrupted probes, stopped origin and retry backoff.

@renyuanz
renyuanz merged commit 4dc38db into main Sep 12, 2026
8 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant