mirror of
https://github.com/ChuckBuilds/LEDMatrix.git
synced 2026-10-04 06:15:09 +00:00
fix(status): runtime status agrees with the heartbeat; current-status republishes on wake (#726)
The runtime status snapshot now agrees with the display heartbeat, and current-status is republished when the display wakes. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -223,6 +223,22 @@ policies are unchanged.
|
||||
being stopped, blanks the panel within about a second. It used to stay on
|
||||
until the next minute, because the once-a-minute schedule check had
|
||||
already run that minute and the session had overridden its answer.
|
||||
- `/api/v3/plugins/installed` no longer reports the display's plugins as
|
||||
`live` while `/api/v3/health` says `display_loop: stalled`. The runtime
|
||||
snapshot is written from its own thread, which kept going while the render
|
||||
loop was hung. The web interface now also reads the render loop's
|
||||
heartbeat: a fresh snapshot whose process's heartbeat is 60 s or older is
|
||||
`data.runtime.status: "stalled"`, with the per-plugin fields null, and
|
||||
`data.runtime` gains `heartbeat_age_seconds`. A snapshot from a process
|
||||
that no longer exists, as after a watchdog kill (systemd removes the
|
||||
heartbeat when the service stops), is `stale` at once instead of `live`
|
||||
for up to 180 s. No new files or writes: both checks are on the reading
|
||||
side.
|
||||
- `/api/v3/display/current-status` reflects a wake from scheduled-off, a
|
||||
schedule-off blank, or an on-demand session starting or ending at once,
|
||||
even when the mode name stays the same. The display republished its
|
||||
current state only on a mode change or every 30 s, so `is_display_active`
|
||||
and `on_demand_active` could be up to 30 s out of date.
|
||||
|
||||
### Scrolling
|
||||
|
||||
|
||||
Reference in New Issue
Block a user