Sincronizzazione
Quando lavori offline, Scripvio registra le modifiche in una coda locale (SQLite sul dispositivo). Appena la rete torna, l’applicazione svuota automaticamente questa coda verso il server — senza azione manuale nella maggior parte dei casi.
→ Modalità offline · FAQ offline
Attivazione automatica
Sezione intitolata “Attivazione automatica”sequenceDiagram participant A as App participant L as Coda locale participant S as Server Note over A: Perdita rete A->>L: Note, diario, monitoraggio in coda Note over A: Rete rilevata A->>A: Banner Sincronizzazione… A->>S: flushOfflineQueue (note) A->>S: flushOfflineQueue (diario) A->>S: flushOfflineQueue (monitoraggio) S-->>A: ID server, ACK A->>L: Coda svuotata o ridotta| Evento | Comportamento |
|---|---|
| Modifica in locale | Contatore coda +1 — banner Alcune modifiche sono in attesa… se online senza sync |
| Ritorno rete | Banner Sincronizzazione con il server… poi invio |
| Fine riuscita | Banner scompare (coda = 0) |
| Errore parziale / totale | Sincronizzazione non riuscita… — coda conservata, nuovo tentativo al prossimo online |
L’app ascolta i cambiamenti di connettività (connectivity_plus) in continuo.
Cosa contiene la coda?
Sezione intitolata “Cosa contiene la coda?”La coda aggrega diversi tipi di operazioni in attesa:
| Dominio | Esempi di operazioni |
|---|---|
| Note | Creazioni (local_…), patch, eliminazioni |
| Sezioni | Creazione, aggiornamento, riordino |
| Riferimenti nota | Versetti strutturati (local_verse_…) |
| Diario | Creazioni, modifiche, pubblicazione in attesa |
| Monitoraggio | Letture, preghiere, meditazioni create o modificate |
| Promemoria (preferenze) | Salvataggio rinviato se API non disponibile |
Un solo banner globale riflette la somma di queste code (nessun contatore per tipo nell’UI).
Ordine e logica di invio
Sezione intitolata “Ordine e logica di invio”| Principio | Dettaglio |
|---|---|
| Flush sequenziale | Note → diario → monitoraggio (a ogni riconnessione) |
| Creazione prima del patch | Una nota local_… viene creata sul server prima dei patch che ne dipendono |
| Errore rete | Le righe restano in coda (treatDioFailureAsDeferredSync: timeout, 5xx, nessuna rete) |
| Annullamento richiesta | Non mette in coda per impostazione predefinita |
Non devi gestire l’ordine manualmente; app e server gestiscono le dipendenze (es. conferma delle modifiche).
Dopo una sincronizzazione riuscita
Sezione intitolata “Dopo una sincronizzazione riuscita”| Effetto | Dove lo vedi |
|---|---|
local_… → id server | Elenchi Crea, editor |
| Pubblicazione in attesa applicata | Voce compare in Biblioteca dopo refresh |
| Dashboard Monitoraggio | Aggiornata (grafico, calendario) |
| Riferimenti in attesa | Badge « in attesa » rimossi |
Notifiche (opzionale)
Sezione intitolata “Notifiche (opzionale)”In base alle Notifiche account:
- Push: può segnalare fine sync o errore (secondo configurazione server / Firebase);
- E-mail: riepilogo possibile dopo sync (evoluzione prodotto).
I promemoria personali Monitoraggio sono locali — indipendenti da questa sync contenuti.
Pubblicazione e sync
Sezione intitolata “Pubblicazione e sync”| Azione offline | Messaggio utente | Dopo sync |
|---|---|---|
| Pubblica una nota | Pubblicazione in coda (offline). | Nota pubblicata in Biblioteca |
| Pubblica diario | Pubblicazione in coda (offline). | Voce diario pubblicata |
Finché la pubblicazione non è confermata lato server, la Biblioteca può non mostrare il contenuto come pubblicato.
Multi-dispositivo
Sezione intitolata “Multi-dispositivo”| Situazione | Rischio |
|---|---|
| Stessa nota modificata su telefono A (offline) e tablet B (online) | Conflitto possibile — ultima sync o regole server |
| Lettura su B durante lavoro su A | B vede la versione vecchia fino a sync A |
Errore di sincronizzazione
Sezione intitolata “Errore di sincronizzazione”| Sintomo | Causa probabile | Azioni |
|---|---|---|
| Banner Sincronizzazione non riuscita… | API 5xx, timeout, rete instabile | Resta online; riapri l’app |
| Coda che non scende | Errore ricorrente su un elemento | Annota il messaggio; supporto |
| Dati sempre visibili in locale | Normale | Nulla è « perso » sul dispositivo finché non esci |
| Dopo disconnessione forzata offline | Dialogo di avviso | Conferma solo se accetti la perdita locale |
I tooltip dell’editor possono mostrare In attesa di sincronizzazione o Sincronizzazione non riuscita — salvato su questo dispositivo su alcuni versetti.
Azioni che forzano o dipendono dalla sync
Sezione intitolata “Azioni che forzano o dipendono dalla sync”| Azione | Legame con la sync |
|---|---|
| Export PDF | Propone Sincronizza prima dell’esportazione se coda non vuota |
| Ricerca → Aggiungi versetto | Richiede nota/diario già sul server |
| Collegamento Monitoraggio ↔ diario | Dopo id server stabili |
| Refresh profilo | Pull profilo = rete |
Disconnessione e purge locale
Sezione intitolata “Disconnessione e purge locale”Alla disconnessione, Scripvio può cancellare cache e coda locale di questo dispositivo (soprattutto se confermi offline con dati non sincronizzati).
Alla connessione su un nuovo dispositivo: download dati account + cache iniziale (event types, ecc.).
→ Profilo
Verificare che tutto sia sincronizzato
Sezione intitolata “Verificare che tutto sia sincronizzato”| Indicatore | Stato « OK » |
|---|---|
| Banner offline/sync | Assente |
Nota local_… | Sostituita da id numerico / UUID server |
| Pubblicazione | Visibile in Biblioteca |
| Export PDF | Accettato senza dialogo di sync preliminare |
Se il banner In attesa persiste online: lascia l’app in primo piano qualche istante o riapri l’applicazione.
Domande frequenti
Sezione intitolata “Domande frequenti”Posso sincronizzare manualmente?
Nessun pulsante dedicato nell’UI attuale — la riconnessione e l’apertura dell’app rilanciano il flush.
Quanto tempo conserviamo la coda?
Fino al successo, disconnessione (purge) o reinstallazione.
La sync usa molti dati?
Invia le modifiche (JSON), non tutto il catalogo — ragionevole su mobile.
Sync in background iOS/Android?
Dipende dagli OS; riaprire Scripvio dopo la rete è il metodo più affidabile.
Guide correlate
Sezione intitolata “Guide correlate”| Argomento | Link |
|---|---|
| Modalità offline | Modalità offline |
| FAQ | Offline e sync |
| Note | Bozze e pubblicazione |
| Biblioteca | Bozze e pubblicati |