Skip to content

library: Gerätebibliothek arbeitet ohne Server weiter (Offline-Vertrag) - #152

Merged
larszu merged 1 commit into
mainfrom
claude/broadcast-devices-json-sqlite-xl42ot
Sep 28, 2026
Merged

larszu merged 1 commit into
mainfrom
claude/broadcast-devices-json-sqlite-xl42ot

Conversation

@larszu

@larszu larszu commented Sep 28, 2026

Copy link
Copy Markdown
Owner

Übernimmt den Offline-Vertrag aus larszu/av-device-library#6. Die Gerätebibliothek soll in jedem Planer gleich funktionieren, auch wenn devices.zumpelars.de offline ist.

Änderungen

  • Client: src/utils/deviceLibraryClient.ts ist eine byte-gleiche Kopie der neuen Quelle. Neu sind das Zeitlimit je Anfrage und syncFrom.
  • Speicher je Server: src/library/sync.ts legt pro Server einen eigenen Cache-Platz an. Der alte Einzelstand wird dabei übernommen.
  • Abgleich: src/library/store.ts gleicht über syncFrom ab; bei reset ersetzt die Antwort den Cache. Ein Serverwechsel löscht den Stand des anderen Servers nicht mehr.
  • Texte: Neuer Satz für server-empty. Die Offline-Meldung sagt, dass die Geräte vom letzten Abgleich erhalten bleiben (en/de).
  • Tests: eigener Platz je Server, Wechsel hin und zurück, Übernahme des Altbestands, Ersetzen bei reset. Bei server-empty, offline, abgelaufener Anmeldung und Abmelden bleibt der Cache stehen.
  • README: Abschnitt nachgezogen.

Prüfungen – alles grün:

  • lint: 0 Fehler
  • Tests: 812/812
  • build
  • library:publish --dry-run, docs:reachable, lang:check, brand:check, kopfzeile:check, farben:check, form:check, kontrast:check, slider:check, ci:complete, actions:check

🤖 Generated with Claude Code

https://claude.ai/code/session_01DwW25adywoYdG3ueW7kMVa


Generated by Claude Code

- Client byte-gleich aus av-device-library uebernommen: Zeitlimit je
  Anfrage (15 s, Upload 120 s) -> `offline` statt ewigem Haengen, und
  `syncFrom`, das die Reset-Regel fuer alle Planner an einer Stelle haelt.
- syncNow faehrt `syncFrom`: bei `reset` ersetzt die Antwort den Cache,
  sonst Delta. Ein leer neu aufgesetzter Server kommt als Fehler
  `server-empty` an und loescht nichts mehr.
- Cache je Server-Adresse unter demselben Schluessel (`byServer`): ein
  Serverwechsel loeschte bisher den Stand des alten Servers, wer
  zurueckwechselte, hatte eine leere Bibliothek. Ein alter Einzelstand
  wird als Platz seines Servers gelesen (keine Datenverluste).
- Eigene Meldung fuer `server-empty`; die Offline-Meldung sagt, dass die
  Geraete vom letzten Abgleich verfuegbar bleiben (en + de).
- Tests: Serverwechsel und zurueck, Migration des Einzelstands, Reset
  ersetzt, leerer Server/offline/abgelaufene Anmeldung/Abmelden lassen
  den Cache stehen. README-Abschnitt nachgezogen.
@larszu
larszu marked this pull request as ready for review September 28, 2026 09:00
@larszu
larszu merged commit 79dcbec into main Sep 28, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants