Skip to content

v0.2.5

Choose a tag to compare

@github-actions github-actions released this 13 May 07:55
· 45 commits to main since this release
fix(v0.2.5): wait for [server] listening on stdout, not just /health

v0.2.4 log showed a real race condition:

  7.92s  /health OK      ← previous run's zombie node answered
  7.95s  [remote] cwd-ok
  8.15s  cleanup=killed-pid-N (zombie killed)
  8.15s  launching node
  8.19s  [server] listening (new node bound)
  8.30s  loadURL → ERR_CONNECTION_RESET

The stale node answered /health before our pidfile cleanup ran. We
thought the server was ready, told Electron to load the URL, and the
SSH channel broke mid-transition (zombie dying, new node binding).

Two-part fix:

1. In remote mode, waitForServer now waits for a stdout marker
   "[server] listening" — emitted only by the NEW node after our
   cleanup. Then a 400ms grace and the usual /health check (which now
   genuinely talks to the new server).

2. loadURL is wrapped in a 4-attempt retry with linear backoff. Any
   transient channel hiccup right after the server binds gets recovered
   instead of failing the whole bootstrap.

Both fixes are independent — either alone would have been enough for
this log, but having both gives margin for slower remotes.