Zum Inhalt springen

Synchronisation

Wenn du offline arbeitest, speichert Scripvio Änderungen in einer lokalen Warteschlange (SQLite auf dem Gerät). Sobald Netzwerk zurück ist, leert die App diese Warteschlange automatisch zum Server — in den meisten Fällen ohne manuelle Aktion.

Offline-Modus · FAQ Offline


sequenceDiagram
participant A as App
participant L as Lokale Warteschlange
participant S as Server
Note over A: Netzwerkverlust
A->>L: Notizen, Tagebuch, Übersicht in Warteschlange
Note over A: Netzwerk erkannt
A->>A: Banner Synchronisation …
A->>S: flushOfflineQueue (Notizen)
A->>S: flushOfflineQueue (Tagebuch)
A->>S: flushOfflineQueue (Übersicht)
S-->>A: Server-IDs, ACK
A->>L: Warteschlange geleert oder reduziert
EreignisVerhalten
Lokale ÄnderungWarteschlangen-Zähler +1 — Banner Änderungen warten …, wenn online ohne Sync
Netzwerk zurückBanner Synchronisation mit dem Server …, dann Senden
ErfolgBanner verschwindet (Warteschlange = 0)
Teil-/GesamtfehlerSynchronisation fehlgeschlagen … — Warteschlange bleibt, Neuversuch beim nächsten Online

Die App lauscht kontinuierlich auf Konnektivität (connectivity_plus).


Die Warteschlange bündelt mehrere ausstehende Operationstypen:

BereichBeispiel-Operationen
NotizenErstellungen (local_…), Patches, Löschungen
SektionenErstellen, Aktualisieren, Sortieren
Notiz-ReferenzenStrukturierte Verse (local_verse_…)
TagebuchErstellungen, Änderungen, ausstehende Veröffentlichung
ÜbersichtErstellte oder geänderte Lesungen, Gebete, Meditationen
Erinnerungen (Einstellungen)Verschobene Speicherung bei API nicht verfügbar

Ein globales Banner spiegelt die Summe dieser Warteschlangen wider (kein Zähler pro Typ in der UI).


PrinzipDetail
Sequentielles FlushNotizen → Tagebuch → Übersicht (bei jeder Wiederverbindung)
Erstellung vor PatchNotiz local_… wird auf dem Server erstellt, bevor abhängige Patches
NetzwerkfehlerZeilen bleiben in der Warteschlange (treatDioFailureAsDeferredSync: Timeout, 5xx, kein Netz)
Anfrage abgebrochenWird standardmäßig nicht in Warteschlange gestellt

Du musst die Reihenfolge nicht manuell steuern; App und Server handhaben Abhängigkeiten (z. B. Bestätigung von Änderungen).


EffektWo sichtbar
local_… → Server-IDErstellen-Listen, Editoren
Ausstehende Veröffentlichung angewendetEintrag in Bibliothek nach Aktualisierung
Übersicht-DashboardAktualisiert (Diagramm, Kalender)
Ausstehende Referenzen„Ausstehend“-Badges entfernt

Je nach Benachrichtigungen-Kontoeinstellungen:

  • Push: kann Sync-Ende oder Fehler signalisieren (Server-/Firebase-Konfiguration);
  • E-Mail: ggf. Zusammenfassung nach Sync (Produktentwicklung).

Persönliche Übersicht-Erinnerungen sind lokal — unabhängig von dieser Inhalts-Sync.

Benachrichtigungen


Offline-AktionNutzermeldungNach Sync
Notiz veröffentlichenVeröffentlichung ausstehend (offline).Notiz veröffentlicht in Bibliothek
Tagebuch veröffentlichenVeröffentlichung ausstehend (offline).Tagebucheintrag veröffentlicht

Solange Veröffentlichung serverseitig nicht bestätigt ist, kann die Bibliothek den Inhalt nicht als veröffentlicht anzeigen.


SituationRisiko
Dieselbe Notiz auf Telefon A (offline) und Tablet B (online) bearbeitetKonflikt möglich — letzte Sync oder Serverregeln
Nur Lesen auf B während Arbeit auf AB sieht alte Version bis Sync von A

SymptomWahrscheinliche UrsacheMaßnahmen
Banner Synchronisation fehlgeschlagen …API 5xx, Timeout, instabiles NetzOnline bleiben; App neu öffnen
Warteschlange sinkt nichtWiederholter Fehler bei einem EintragMeldung notieren; Support
Daten lokal weiter sichtbarNormalNichts „verloren“ auf dem Gerät, solange du nicht abmeldest
Nach erzwungener Offline-AbmeldungWarndialogNur bestätigen, wenn du lokalen Verlust akzeptierst

Editor-Tooltips können Wartet auf Synchronisation oder Sync fehlgeschlagen — weiter auf diesem Gerät gespeichert bei einzelnen Versen anzeigen.


AktionBezug zur Sync
PDF exportierenBietet Vor dem Export synchronisieren, wenn Warteschlange nicht leer
Recherche → Vers hinzufügenNotiz/Tagebuch muss bereits auf Server sein
Übersicht ↔ Tagebuch verknüpfenNach stabilen Server-IDs
Profil aktualisierenProfil laden = Netzwerk

Bei Abmeldung kann Scripvio Cache und lokale Warteschlange dieses Geräts löschen (besonders bei Bestätigung offline mit nicht synchronisierten Daten).

Bei Anmeldung auf neuem Gerät: Download der Kontodaten + initialer Cache (Event-Typen usw.).

Profil


Indikator„OK“-Zustand
Offline/Sync-BannerNicht sichtbar
Notiz local_…Ersetzt durch numerische / UUID-Server-ID
VeröffentlichungIn Bibliothek sichtbar
PDF-ExportOhne vorherigen Sync-Dialog akzeptiert

Bleibt das Banner Ausstehend online: App kurz im Vordergrund lassen oder neu öffnen.


Manuell synchronisieren?
Kein dedizierter Button in der aktuellen UI — Wiederverbindung und App-Start starten den Flush neu.

Wie lange bleibt die Warteschlange?
Bis Erfolg, Abmeldung (Bereinigung) oder Neuinstallation.

Viel Datenvolumen?
Es werden Änderungen (JSON) gesendet, nicht der gesamte Katalog — auf Mobile vertretbar.

Hintergrund-Sync iOS/Android?
OS-abhängig; Scripvio nach Netzwerk-Rückkehr zu öffnen ist am zuverlässigsten.


ThemaLink
Offline-ModusOffline-Modus
FAQOffline und Sync
NotizenEntwurf und Veröffentlichung
BibliothekEntwürfe und Veröffentlichte