You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Update checker — /health endpoint reports when a newer release is available; web UI shows an "Update" badge in the header (5c5c875)
Prometheus metrics — GET /metrics endpoint exposes request counts, durations, active SSE connections, MQTT messages, ingest pipeline stats, and DB pool metrics (4dca7c6)
Structured error codes — All API error responses now include a machine-readable code field (e.g. bad_request, not_found, ambiguous_id) for programmatic error handling (e7433e7)
Network status indicator — Shared header dot shows SSE connection state (green/orange/red) across all 8 live pages (92af58a)
Scanner audio player enhancements — Playback speed control (0.75x–2x), loading state with pulse animation, error state with clear feedback (83a1586)
Improvements
Mobile toolbar layout — call-history and events pages now stack controls vertically on narrow screens instead of chaotic flex-wrap (e021ae4)
API pagination — /calls/{id}/frequencies and /calls/{id}/transmissions support limit/offset
Time validation — All time-range endpoints return 400 when start_time > end_time
Health endpoint — Now includes DB connection pool stats (total/idle/in-use/max)
Database indexes — 3 new indexes for common query patterns
Favicon — Added site favicon
API Changes
Error responses now include code field (backward compatible — error field unchanged)
OpenAPI spec updated with error code enum on Error and AmbiguousError schemas
New endpoints: GET /metrics (Prometheus), enhanced GET /health (update check + pool stats)