Skip to content

fix(web,api): truthful instances everywhere — node names, stacked in Server view, live status, fleet-wide update banner#59

Merged
webdevtodayjason merged 1 commit into
mainfrom
codex/gui-truth-053
Jul 7, 2026
Merged

fix(web,api): truthful instances everywhere — node names, stacked in Server view, live status, fleet-wide update banner#59
webdevtodayjason merged 1 commit into
mainfrom
codex/gui-truth-053

Conversation

@webdevtodayjason

Copy link
Copy Markdown
Contributor

Four operator-reported GUI-truth defects from this morning's live review:

  • Instance cards show node names (Spark-2-DGX · :8001) instead of raw hex ids, on every card type.
  • Server view counts all instances — stacked models now appear as rows (node name, port, READY) and the count matches reality; Eject renders only where the endpoint can actually target (local rows), removing the non-functional remote Eject.
  • Instance status tells the truth — records flipped to serving when the engine answers and (review catch) back to failed when it dies, at the source that feeds both the broadcast and the Server view; the stacked-card status no longer ORs with the primary's readiness (second review catch). 3 regression tests on the both-directions probe.
  • Update banner goes fleet-wide — POSTs /api/cluster/update-all with an honest confirm ("Update all N nodes… restart one by one"), wires the progress panel, failure toast.

670 passed, 1 xfailed; ruff clean; node --check OK. Review-gated (2 majors found and fixed).

🤖 Generated with Claude Code

https://claude.ai/code/session_017NziXzqT1L9kj2T1byA3Ak

…Server view, live status, fleet-wide update banner

F1 — dashboard INSTANCES cards now show the node NAME (Spark-2-DGX), not the
raw node-id hex, for single/stacked cards (renderInstances host = node_name),
falling back to the id when the name is unknown.

F2 — Server view LOADED MODELS now includes stacked instances as rows: the
local InstanceManager (ports 8001+) and each peer's announced instances[], each
with model, node name, port, READY/STARTING, and Eject only where the local
eject endpoint can target it (remote rows render without Eject). The count now
reflects total instances, not just per-node primaries.

F3 — instance status no longer sticks at 'starting'. _live_instance_records
flips each live record's status to 'serving' when its engine answers the
localhost /v1/models probe, so the announcement carries the truth and the GUI
stops painting a 'STARTING · 8%' bar for an instance that's serving.

F4 — the update banner is fleet-wide: the badge confirms 'Update all N nodes to
vX? Services restart one by one.' and POSTs /api/cluster/update-all (resolves one
target, threads to peers), with a failure toast and the re-check bumped 60s→90s.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017NziXzqT1L9kj2T1byA3Ak
@webdevtodayjason webdevtodayjason merged commit 2149a22 into main Jul 7, 2026
1 check passed
@webdevtodayjason webdevtodayjason deleted the codex/gui-truth-053 branch July 7, 2026 13:41
@webdevtodayjason webdevtodayjason mentioned this pull request Jul 7, 2026
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