Skip to content

Synchronization

When you work offline, Scripvio stores changes in a local queue (SQLite on the device). As soon as the network is back, the app automatically drains that queue to the server — with no manual step in most cases.

Offline mode · Offline FAQ


sequenceDiagram
participant A as App
participant L as Local queue
participant S as Server
Note over A: Network lost
A->>L: Notes, journal, tracking queued
Note over A: Network detected
A->>A: Banner Syncing…
A->>S: flushOfflineQueue (notes)
A->>S: flushOfflineQueue (journal)
A->>S: flushOfflineQueue (tracking)
S-->>A: Server ids, ACK
A->>L: Queue cleared or reduced
EventBehavior
Local changeQueue count +1 — banner Changes are waiting… if online but not syncing
Network backBanner Syncing with server… then upload
SuccessBanner gone (queue = 0)
Partial / total failureSync failed… — queue kept, retry on next online

The app listens for connectivity changes (connectivity_plus) continuously.


The queue aggregates several operation types:

DomainExample operations
NotesCreates (local_…), patches, deletes
SectionsCreate, update, reorder
Note referencesStructured verses (local_verse_…)
JournalCreates, edits, pending publish
TrackingCreated or updated readings, prayers, meditations
Reminders (preferences)Save deferred if API unavailable

One global banner reflects the sum of these queues (not a per-type counter in the UI).


PrincipleDetail
Sequential flushNotes → journal → tracking (on each reconnect)
Create before patchA local_… note is created on the server before dependent patches
Network failureRows stay in queue (treatDioFailureAsDeferredSync: timeout, 5xx, no network)
Cancelled requestNot queued by default

You do not manage order manually; the app and server handle dependencies (e.g. note patch ACK).


EffectWhere you see it
local_… → server idCreate lists, editors
Pending publish appliedEntry appears in Library after refresh
Tracking dashboardRefreshed (chart, calendar)
Pending references“Pending” badges removed

Depending on your account Notifications:

  • Push: may signal sync done or failed (server / Firebase configuration) ;
  • Email: summary possible after sync (product evolution).

Personal Tracking reminders are local — independent of this content sync.

Notifications


Offline actionUser messageAfter sync
Publish a notePublish queued (offline).Note published in Library
Publish journalPublish queued (offline).Journal entry published

Until the server confirms publish, Library may not show content as published.


SituationRisk
Same note edited on phone A (offline) and tablet B (online)Possible conflict — last sync or server rules
Read-only on B while working on AB shows old version until A syncs

SymptomLikely causeActions
Banner Sync failed…API 5xx, timeout, unstable networkStay online; reopen the app
Queue not drainingRecurring error on one itemNote the message; support
Data still visible locallyNormalNothing is “lost” on device until you sign out
Forced sign-out offlineWarning dialogConfirm only if you accept losing local data

Editor tooltips may show Waiting for sync or Sync failed — still saved on this device on some verses.


ActionLink to sync
PDF exportOffers Sync before export if queue not empty
Search → Add verseNeeds note/journal already on server
Tracking ↔ journal linkAfter stable server ids
Profile refreshPull profile = network

On sign out, Scripvio may clear cache and local queue on that device (especially if you confirm offline with unsynced data).

On sign in on a new device: download account data + initial cache (event types, etc.).

Profile


Indicator“OK” state
Offline/sync bannerGone
local_… noteReplaced by numeric / server UUID id
PublishVisible in Library
PDF exportAllowed without pre-sync dialog

If the Waiting banner persists while online: keep the app in foreground a moment or reopen it.


Can I sync manually?
No dedicated button in the current UI — reconnecting and opening the app retriggers flush.

How long is the queue kept?
Until success, sign-out (purge), or reinstall.

Does sync use a lot of data?
Sends changes (JSON), not the full catalog — reasonable on mobile.

Background sync on iOS/Android?
OS-dependent; reopening Scripvio after network is most reliable.


TopicLink
Offline modeOffline mode
FAQOffline and sync
NotesDraft and publish
LibraryDrafts and published