feat(ui): add three-state connection-status widget to dashboard #19

Merged
ashraf merged 1 commit from development_connection_status_widget into main 2026-04-23 09:49:33 +00:00
Member

Summary

  • Add canonical three-state connection-status widget (green/yellow/red) to the hero_livekit UI dashboard
  • Widget polls /health every 5 seconds and pings the backend RPC to determine connectivity state
  • Includes clickable Bootstrap popover with detailed status info, visibility-change handling, and aria-live accessibility

Closes #10

Changes

  • New: connection-status.js -- canonical Hero dashboard widget (copied from hero_embedder_ui)
  • Modified: dashboard.css -- added .disconnected (red + pulse) and .backend-down (yellow) status-dot classes
  • Modified: index.html -- added aria-live="polite" wrapper for screen reader accessibility
  • Modified: base.html -- added script tag for connection-status.js
  • Modified: dashboard.js -- replaced manual setServiceState/runStatus with startConnectionStatusPoller()
  • Modified: main.rs -- /health endpoint now returns JSON instead of plain text

Test Results

34 tests passed, 0 failures

## Summary - Add canonical three-state connection-status widget (green/yellow/red) to the hero_livekit UI dashboard - Widget polls /health every 5 seconds and pings the backend RPC to determine connectivity state - Includes clickable Bootstrap popover with detailed status info, visibility-change handling, and aria-live accessibility ## Related Issue Closes https://forge.ourworld.tf/lhumina_code/hero_livekit/issues/10 ## Changes - New: `connection-status.js` -- canonical Hero dashboard widget (copied from hero_embedder_ui) - Modified: `dashboard.css` -- added `.disconnected` (red + pulse) and `.backend-down` (yellow) status-dot classes - Modified: `index.html` -- added `aria-live="polite"` wrapper for screen reader accessibility - Modified: `base.html` -- added script tag for connection-status.js - Modified: `dashboard.js` -- replaced manual setServiceState/runStatus with startConnectionStatusPoller() - Modified: `main.rs` -- `/health` endpoint now returns JSON instead of plain text ## Test Results 34 tests passed, 0 failures
feat(ui): add three-state connection-status widget to dashboard
All checks were successful
Build & Test / check (pull_request) Successful in 1m59s
Build & Test / check (push) Successful in 2m41s
f2572424ce
#10
ashraf merged commit f2572424ce into main 2026-04-23 09:49:33 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
lhumina_code/hero_livekit!19
No description provided.