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
Activación automática
Sección titulada «Activación automática»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| Evento | Comportamiento |
|---|---|
| Modificación local | Contador cola +1 — banner Hay cambios pendientes… si en línea sin sync |
| Vuelta de red | Banner Sincronizando con el servidor… y envío |
| Fin correcto | Banner desaparece (cola = 0) |
| Fallo parcial / total | Error de sincronización… — cola conservada, nuevo intento en el próximo online |
La app escucha cambios de conectividad (connectivity_plus) de forma continua.
¿Qué contiene la cola?
Sección titulada «¿Qué contiene la cola?»La cola agrupa varios tipos de operaciones pendientes:
| Dominio | Ejemplos de operaciones |
|---|---|
| Notas | Creaciones (local_…), parches, eliminaciones |
| Secciones | Creación, actualización, reordenamiento |
| Referencias de nota | Versículos estructurados (local_verse_…) |
| Diario | Creaciones, modificaciones, publicación en espera |
| Seguimiento | Lecturas, 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).
Orden y lógica de envío
Sección titulada «Orden y lógica de envío»| Principio | Detalle |
|---|---|
| Vaciado secuencial | Notas → diario → seguimiento (en cada reconexión) |
| Creación antes de parche | Una nota local_… se crea en el servidor antes de los parches que dependen de ella |
| Fallo de red | Las filas permanecen en cola (treatDioFailureAsDeferredSync: timeout, 5xx, sin red) |
| Cancelación de petición | No 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).
Tras una sincronización correcta
Sección titulada «Tras una sincronización correcta»| Efecto | Dónde lo ve |
|---|---|
local_… → id servidor | Listas Crear, editores |
| Publicación en espera aplicada | Entrada aparece en Biblioteca tras actualizar |
| Panel Seguimiento | Actualizado (gráfico, calendario) |
| Referencias en espera | Badges « en espera » retirados |
Notificaciones (opcional)
Sección titulada «Notificaciones (opcional)»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.
Publicación y sync
Sección titulada «Publicación y sync»| Acción sin conexión | Mensaje al usuario | Tras sync |
|---|---|---|
| Publicar una nota | Publicación en cola (sin conexión). | Nota publicada en Biblioteca |
| Publicar diario | Publicació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.
Varios dispositivos
Sección titulada «Varios dispositivos»| Situación | Riesgo |
|---|---|
| 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 A | B ve la versión antigua hasta sync de A |
Fallo de sincronización
Sección titulada «Fallo de sincronización»| Síntoma | Causa probable | Acciones |
|---|---|---|
| Banner Error de sincronización… | API 5xx, timeout, red inestable | Permanecer en línea; reabrir la app |
| Cola que no baja | Error recurrente en un ítem | Anotar el mensaje; soporte |
| Datos aún visibles localmente | Normal | Nada se « pierde » en el dispositivo mientras no cierre sesión |
| Tras cierre de sesión forzado sin conexión | Diálogo de aviso | Confirmar 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.
Acciones que fuerzan o dependen de la sync
Sección titulada «Acciones que fuerzan o dependen de la sync»| Acción | Relación con la sync |
|---|---|
| Exportar PDF | Propone Sincronizar antes de exportar si la cola no está vacía |
| Investigación → Añadir versículo | Requiere nota/diario ya en servidor |
| Enlace Seguimiento ↔ diario | Tras ids de servidor estables |
| Actualizar perfil | Obtener perfil = red |
Cierre de sesión y purga local
Sección titulada «Cierre de sesión y purga local»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
Comprobar que todo está sincronizado
Sección titulada «Comprobar que todo está sincronizado»| Indicador | Estado « OK » |
|---|---|
| Banner sin conexión/sync | Ausente |
Nota local_… | Sustituida por id numérico / UUID del servidor |
| Publicación | Visible en Biblioteca |
| Exportación PDF | Aceptada 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.
Preguntas frecuentes
Sección titulada «Preguntas frecuentes»¿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.
Guías relacionadas
Sección titulada «Guías relacionadas»| Tema | Enlace |
|---|---|
| Modo sin conexión | Modo sin conexión |
| FAQ | Sin conexión y sync |
| Notas | Borrador y publicación |
| Biblioteca | Borradores y publicados |