feat(maestro): daemon status indicator and restart overlay in the TUI
The status bar gains the TUI's half of the same contract the web client got: a coloured dot plus the release the daemon is running, pinned right so a narrow terminal truncates the key hints rather than the release. `DaemonLink` mirrors web/src/daemonLink.ts — the events loop reports its connects and disconnects, a probe task polls `GET /api/info` while the daemon is unreachable, and past the grace window a modal covers the frame and locks the keyboard (quit excepted) until it answers. A daemon that comes back on a new commit cannot be reloaded into a running TUI binary, so the status bar says `updated: <hash> (restart tui)` instead. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5
parent
4d7e368d31
commit
29545d15fe
@@ -71,6 +71,11 @@ before changing anything that creates or removes one.
|
||||
sidebars — line layout, activity colours, duration format, state precedence.
|
||||
Read it before changing sidebar rendering.
|
||||
|
||||
`docs/RESTART.md` is the contract for what clients do when the daemon restarts
|
||||
or is upgraded under them — the build stamp on `/api/info`, the status
|
||||
indicator's states, the blocking overlay, grace and poll timings. Read it
|
||||
before changing reconnect behaviour on either client.
|
||||
|
||||
`nix run .#dev` (or `just dev`) brings up the whole local stack under
|
||||
process-compose: a debug daemon on 127.0.0.1:7071, then Vite on :5173 once the
|
||||
daemon answers `/api/info`. The SPA proxies `/api/*` back to the daemon, so only
|
||||
|
||||
Reference in New Issue
Block a user