Cómo funciona la sincronización

Foliato Sync mantiene los archivos de la carpeta local y el servidor alineados en ambos sentidos. Usa SSE para recibir cambios en vivo y un file watcher para detectar cambios locales.

Sincronización de descarga

Cuando el servidor registra un cambio (por ejemplo otro miembro sube un archivo), emite un evento SSE que el cliente escucha y aplica de inmediato.

Si el cliente estaba desconectado, al reconectar pide un delta desde su última versión y descarga solo lo que cambió.

Sincronización de subida

La app vigila la carpeta local con un file watcher nativo (FSEvents en macOS, ReadDirectoryChanges en Windows).

Los cambios se agrupan con un debounce de 3 segundos para evitar subidas innecesarias durante ediciones activas.

💡 Los archivos ocultos (.DS_Store, Thumbs.db) y temporales (.tmp, ~$) se ignoran automáticamente.

Resolución de conflictos

Si dos dispositivos editan el mismo archivo a la vez, el servidor detecta el conflicto por versión y devuelve 409.

  1. 1La app crea una copia local con sufijo "(conflicto — tu equipo)".
  2. 2Tu versión permanece en la carpeta con ese nombre alternativo.
  3. 3La versión del servidor se descarga con el nombre original.
  4. 4Compara, edita y vuelve a subir la que quieras conservar.

Resolución de conflictos

Historial y estado

Desde la app puedes ver el historial de sincronizaciones recientes: archivos descargados, subidos, errores y conflictos.

Historial y estado