From 77b43e42d152de4401c13d8e8feeab9d3fc3dfdc Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 15 May 2026 21:10:53 +0000 Subject: [PATCH 1/2] Initial plan From 574d042cbdbbe6428ec48c763c62947b86f72df3 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 15 May 2026 21:17:25 +0000 Subject: [PATCH 2/2] style: align ingress dashboard with Home Assistant theme conventions Agent-Logs-Url: https://github.com/DarinShapiro/ThreadObservabilityPOC/sessions/88a653f5-c72d-4253-8806-c945aeabf971 Co-authored-by: DarinShapiro <23219821+DarinShapiro@users.noreply.github.com> --- addons/thread-observability/README.md | 5 + .../thread_observability/api/dashboard.html | 141 ++++++++++++------ .../app/tests/test_dashboard_http.py | 11 ++ 3 files changed, 108 insertions(+), 49 deletions(-) diff --git a/addons/thread-observability/README.md b/addons/thread-observability/README.md index c3bac1f..9c7a8db 100644 --- a/addons/thread-observability/README.md +++ b/addons/thread-observability/README.md @@ -55,3 +55,8 @@ For API-surface regression without a Home Assistant deployment, run `PYTHONPATH= - Legacy node-shaping reference exports now live under `../../samples/addon/`. They are retained for offline inspection only and are not runtime inputs for the add-on. - The ad hoc OTBR parser smoke helper lives at `../../scripts/test_real_logs.py` rather than the repository root. - `app/src/thread_observability/pipeline/reasoner.py` intentionally retains the pre-redesign rule body as reference code while the active runtime keeps issue detection paused pending GitHub issue #5. + +## Ingress dashboard styling notes + +- The dashboard now prefers Home Assistant theme variables (for example `--primary-background-color`, `--ha-card-background`, `--primary-text-color`, `--secondary-text-color`, and `--accent-color`) so ingress surfaces track active HA light/dark themes. +- We intentionally keep product-specific diagnostic colors for Thread role classes (Leader/Router/REED/FED/SED/phantom) and graph/risk overlays because those hues encode operational meaning across table pills, graph legend, and topology rendering. diff --git a/addons/thread-observability/app/src/thread_observability/api/dashboard.html b/addons/thread-observability/app/src/thread_observability/api/dashboard.html index 7f12907..be36131 100644 --- a/addons/thread-observability/app/src/thread_observability/api/dashboard.html +++ b/addons/thread-observability/app/src/thread_observability/api/dashboard.html @@ -10,10 +10,32 @@