Umgesetzt in 378dba0.
Neuer Endpoint: GET /api/v1/sensors
Response: Flat-Liste aller Sensoren aller aktiven Devices mit box_id Feld.
Änderungen:
SensorRepository.list_all()…
Behoben in 1d72131.
Änderungen:
frontend/src/api/client.ts:window.location.href = "/login"durchrouter.push({ name: "login" })ersetzt. Vue Router Navigation ermöglicht sauberen…
Fix
Das Problem lag in SettingsRetention.vue und SettingsBackup.vue — beide hatten eigene Save-Flows, die den Shared Config Ref (provided.config) nicht aktualisierten.
Änderungen:…
Behoben in 417fdcb.
Änderungen:
refreshDevices()merged Device-Daten jetzt in-place viaObject.assignstatt.map()→ Array-Referenzen bleiben stabil, WS-Updates (z.B.last_seen_at…
Behoben in 7ffd371.
Lösung: Sequence-Counter im splitDepth-Watcher. Bei jedem Depth-Wechsel wird splitSeq inkrementiert. Wenn der API-Response zurückkommt, wird geprüft ob `mySeq ===…
Behoben in fb55307.
Änderungen:
- Sequence-Counter für
loadPanels()und neuesrefreshDashboardList()– veraltete API-Responses werden verworfen statt frische Daten zu überschreiben -…
Hinweis: In #66 wurde ein ähnliches Problem in DeviceCard gelöst (Readings-Merge statt Replace, damit WS-Events nicht verloren gehen). Das gleiche Pattern könnte hier für DashboardView…