homelab-codex-ws/services/control-plane
Oskar Kapala 1db9db7d03 fix(dashboard): read last_update from JSON content, not file mtime
operator_ui.py called .replace() on last_update without checking type —
an integer value (written by the materializer) raised AttributeError and
silently fell back to os.path.getmtime(), which was stuck at 5/29 after a
deploy with preserved timestamps. web.py had the same class of bug but
worse: it unconditionally replaced last_update with mtime, ignoring the
JSON field entirely. Both now branch on isinstance(str) and cast numeric
values directly to float, with mtime only as a last-resort fallback.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-31 22:10:50 +02:00
..
src fix(dashboard): read last_update from JSON content, not file mtime 2026-05-31 22:10:50 +02:00
tests feat(control-plane): shadow_mode for HA event auto-actions + deploy docs 2026-05-29 17:12:33 +02:00
deploy-local.sh Add control plane deploy script and fix UI healthcheck 2026-05-18 21:34:57 +02:00
docker-compose.yml Add control plane deploy script and fix UI healthcheck 2026-05-18 21:34:57 +02:00
Dockerfile Add heartbeat updates and improve health checks in control-plane components 2026-05-12 20:59:46 +02:00
pyproject.toml feat(control-plane): route ha-diag-agent events through supervisor 2026-05-29 15:59:23 +02:00