diff --git a/firmware/esp32/overland-controller/overland-controller.ino b/firmware/esp32/overland-controller/overland-controller.ino index f973ef7..252196e 100644 --- a/firmware/esp32/overland-controller/overland-controller.ino +++ b/firmware/esp32/overland-controller/overland-controller.ino @@ -107,7 +107,7 @@ input{width:100%;border:1px solid var(--line);border-radius:12px;padding:12px;ba
-
Connecting...
+
API Connecting...
@@ -579,7 +579,7 @@ async function relay(id,on){ function render(data){ data=mergeStatus(window.lastStatus,data); window.lastStatus=data; - $("conn").textContent="Live"; + $("conn").textContent="API Live"; $("conn").className="pill good"; $("device").textContent=data.config?.device_name||"Overland Controller"; renderWeatherBadge(data); @@ -915,7 +915,7 @@ async function load(){ const r=await fetch(statusUrl(),{cache:"no-store"}); render(await r.json()); }catch(e){ - $("conn").textContent="Offline"; + $("conn").textContent="API Error"; $("conn").className="pill bad"; } } diff --git a/tests/test_http_api_contract.py b/tests/test_http_api_contract.py index 2418bf9..062196f 100644 --- a/tests/test_http_api_contract.py +++ b/tests/test_http_api_contract.py @@ -366,3 +366,12 @@ def test_embedded_webui_config_subtabs(): assert "config-maintenance" in source assert "WiFi / AP" in source assert "Maintenance" in source + + +def test_embedded_webui_api_badge_labels_are_clear(): + source = firmware_source() + + assert "API Connecting..." in source + assert "API Live" in source + assert "API Error" in source + assert 'textContent="Offline"' not in source