Ir al contenido

Sincronización y Conflictos

Esta página cubre el comportamiento de sincronización de Computtite en modo cloud y cómo se resuelven los conflictos cuando varios miembros editan simultáneamente.

El indicador de sincronización ubicado en el pie de la barra lateral y en la barra superior muestra el estado en tiempo real para workspaces en la nube:

  • idle / synced: Sin transferencias activas. La caché SQLite local está sincronizada con Supabase.
  • syncing: Un ciclo asíncrono de subida o bajada está ejecutándose.
  • offline: Sin conexión a red. Los cambios se encolan de forma segura en sync_operations dentro de SQLite y se enviarán automáticamente en cuanto se restablezca la conectividad.
  • error: El último ciclo falló tras varios intentos de reintento. Pasa el cursor o haz clic en el indicador para ver el diagnóstico detallado.

Cómo Funciona el Motor de Sincronización

Cada operación sobre los datos (creación, edición, eliminación) impacta primero los repositorios SQLite locales, garantizando cero latencia en la interfaz. En modo cloud, las mutaciones se agregan a una tabla de cola persistente sync_operations. Cada 10 segundos, el worker de sincronización en segundo plano envía las operaciones pendientes hacia Supabase y descarga cambios remotos utilizando cursores updated_at registrados por tabla en sync_cursors.

Resolución de Conflictos

Cuando ocurren ediciones concurrentes sobre el mismo registro entre distintos miembros, Computtite aplica una política determinista de última escritura gana (last-write-wins) basada en marcas de tiempo remotas. Todas las operaciones quedan registradas permanentemente en el timeline de auditoría para garantizar trazabilidad.

Resiliencia Offline y Persistencia de Cola

Las operaciones pendientes sobreviven a reinicios de la aplicación y reinicios del sistema operativo dentro del archivo SQLite local. Si editas activos mientras estás desconectado en un almacén o en tránsito, cerrar la aplicación no provoca pérdida de datos: Computtite reanudará y vaciará la cola automáticamente al detectar conexión a internet.