Files
zeekay 770c25a8c4 Let the node finish starting, and stop startup panicking
The readiness probe asked /v1/node/health_check. The node mounts two
different APIs rather than two versions of one: /v1 is the
OpenAI-compatible surface (chat, completions, models) and /v2 is its own
control plane. Measured against the shipped sidecar, /v2/health_check
answers 200 and /v1/health_check answers 404, so readiness could never
pass and the probe timed out every time.

Worse, on that timeout spawn() killed the node it had just started and
returned an error. A node still coming up is not a node that failed. It
is left running now and the timeout is logged — a readiness probe is a
hint about when something is usable, not a verdict on whether it lives.

Startup also panicked in sixteen places. Showing, centring and hiding a
window are requests to the compositor that can fail, and none of those
failures are worth ending the process over; the same goes for emitting
to a window that has gone, and for a missing window config. Those now
log and carry on. The node-manager singleton is read with a let-else
instead of unwrap, so a startup ordering change degrades rather than
crashes.

The readiness regex now escapes the address before compiling it — the
dots in an IP are wildcards — and falls back to a looser match rather
than panicking if it somehow will not compile.
2026-09-01 20:24:51 -07:00
..
…
…