Phase 4.3 (Background-Sync): - webapp/src/sync-queue.ts: localStorage-basierte Queue - enqueueSync, dequeueSync, loadQueue, saveQueue, clearQueue - TypeScript mit korrekten Typen - webapp/src/EditorWithLoad.tsx: erweitert - Auto-Sync-Toggle (localStorage-Persistenz) - Online-Event-Listener: processQueue bei reconnect - Bei Auto-Sync: direkt speichern + sync - Bei Offline: in Queue, wird bei 'online' verarbeitet - Pending-Counter im UI - webapp/public/service-worker.js: Background-Sync - 'sync'-Event-Handler mit tag 'mindomat-sync' - Ruft POST /api/sync, postet Ergebnis an Clients - Browser-Support: Chrome/Edge (Background-Sync API) Tests: - tests/sync-queue.test.ts: 8 neue Tests - Startzustand, enqueue, FIFO, dequeue, clearQueue - Roundtrip, kaputtes JSON - localStorage-Mock Verifiziert: - 79/79 Tests gruen (10 neu seit v2.0.4) - Webapp tsc + build OK - EditorWithLoad funktional mit Auto-Sync-Option Pfad-Korrekturen: - vite.config.ts: ../../src/ -> ../src/ (war falsch, webapp ist nur 1 Ebene tiefer)