Ir al contenido

Sincronización

Cuando trabaja sin conexión, Scripvio guarda los cambios en una cola local (SQLite en el dispositivo). En cuanto vuelve la red, la aplicación vacía automáticamente esa cola hacia el servidor — sin acción manual en la mayoría de casos.

Modo sin conexión · FAQ sin conexión


sequenceDiagram
participant A as App
participant L as Cola local
participant S as Servidor
Note over A: Pérdida de red
A->>L: Notas, diario, seguimiento en cola
Note over A: Red detectada
A->>A: Banner Sincronizando…
A->>S: flushOfflineQueue (notas)
A->>S: flushOfflineQueue (diario)
A->>S: flushOfflineQueue (seguimiento)
S-->>A: IDs servidor, ACK
A->>L: Cola vaciada o reducida
EventoComportamiento
Modificación localContador cola +1 — banner Hay cambios pendientes… si en línea sin sync
Vuelta de redBanner Sincronizando con el servidor… y envío
Fin correctoBanner desaparece (cola = 0)
Fallo parcial / totalError de sincronización… — cola conservada, nuevo intento en el próximo online

La app escucha cambios de conectividad (connectivity_plus) de forma continua.


La cola agrupa varios tipos de operaciones pendientes:

DominioEjemplos de operaciones
NotasCreaciones (local_…), parches, eliminaciones
SeccionesCreación, actualización, reordenamiento
Referencias de notaVersículos estructurados (local_verse_…)
DiarioCreaciones, modificaciones, publicación en espera
SeguimientoLecturas, oraciones, meditaciones creadas o modificadas
Recordatorios (preferencias)Guardado aplazado si API no disponible

Un solo banner global refleja la suma de estas colas (no hay contador por tipo en la UI).


PrincipioDetalle
Vaciado secuencialNotas → diario → seguimiento (en cada reconexión)
Creación antes de parcheUna nota local_… se crea en el servidor antes de los parches que dependen de ella
Fallo de redLas filas permanecen en cola (treatDioFailureAsDeferredSync: timeout, 5xx, sin red)
Cancelación de peticiónNo encola por defecto

No tiene que gestionar el orden manualmente; la app y el servidor manejan dependencias (p. ej. acuse de recepción de modificaciones).


EfectoDónde lo ve
local_… → id servidorListas Crear, editores
Publicación en espera aplicadaEntrada aparece en Biblioteca tras actualizar
Panel SeguimientoActualizado (gráfico, calendario)
Referencias en esperaBadges « en espera » retirados

Según sus Notificaciones de cuenta:

  • Push: puede señalar fin de sync o fallo (según configuración servidor / Firebase);
  • Correo: resumen posible tras sync (evolución de producto).

Los recordatorios personales de Seguimiento son locales — independientes de esta sync de contenido.

Notificaciones


Acción sin conexiónMensaje al usuarioTras sync
Publicar una notaPublicación en cola (sin conexión).Nota publicada en Biblioteca
Publicar diarioPublicación en cola (sin conexión).Entrada de diario publicada

Mientras la publicación no esté confirmada en el servidor, Biblioteca puede no mostrar el contenido como publicado.


SituaciónRiesgo
Misma nota modificada en teléfono A (sin conexión) y tableta B (en línea)Posible conflicto — última sync o reglas del servidor
Solo lectura en B mientras trabaja en AB ve la versión antigua hasta sync de A

SíntomaCausa probableAcciones
Banner Error de sincronización…API 5xx, timeout, red inestablePermanecer en línea; reabrir la app
Cola que no bajaError recurrente en un ítemAnotar el mensaje; soporte
Datos aún visibles localmenteNormalNada se « pierde » en el dispositivo mientras no cierre sesión
Tras cierre de sesión forzado sin conexiónDiálogo de avisoConfirmar solo si acepta la pérdida local

Los tooltips del editor pueden mostrar Pendiente de sincronizar o Error de sincronización — sigue guardado en este dispositivo en algunos versículos.


AcciónRelación con la sync
Exportar PDFPropone Sincronizar antes de exportar si la cola no está vacía
Investigación → Añadir versículoRequiere nota/diario ya en servidor
Enlace Seguimiento ↔ diarioTras ids de servidor estables
Actualizar perfilObtener perfil = red

Al cerrar sesión, Scripvio puede borrar la caché y la cola local de ese dispositivo (sobre todo si confirma sin conexión con datos no sincronizados).

Al iniciar sesión en un dispositivo nuevo: descarga de datos de cuenta + caché inicial (tipos de evento, etc.).

Perfil


IndicadorEstado « OK »
Banner sin conexión/syncAusente
Nota local_…Sustituida por id numérico / UUID del servidor
PublicaciónVisible en Biblioteca
Exportación PDFAceptada sin diálogo de sync previo

Si el banner En espera persiste en línea: deje la app en primer plano unos instantes o reábrala.


¿Puedo sincronizar manualmente?
No hay botón dedicado en la UI actual — la reconexión y abrir la app relanzan el vaciado.

¿Cuánto tiempo se conserva la cola?
Hasta éxito, cierre de sesión (purga) o reinstalación.

¿La sync consume muchos datos?
Envía los cambios (JSON), no todo el catálogo — razonable en móvil.

¿Sync en segundo plano iOS/Android?
Depende del SO; reabrir Scripvio tras recuperar red es lo más fiable.


TemaEnlace
Modo sin conexiónModo sin conexión
FAQSin conexión y sync
NotasBorrador y publicación
BibliotecaBorradores y publicados