La sincronización a fondo

El artículo «Cómo funciona la sincronización» cuenta lo que ves. Este baja un nivel más, a lo que cada dispositivo y el servidor hacen realmente con tus cambios.

Cada cambio se convierte en una operación

Cuando editas una nota, tu dispositivo hace dos cosas en un solo paso: guarda el texto nuevo en su base de datos local y añade una operación a una cola, un pequeño registro que dice "esta nota ha cambiado, aquí está la versión nueva". Crear, editar, fijar, etiquetar, archivar y eliminar una nota son todo operaciones.

Antes de enviar la cola, tu dispositivo la pone en orden. Diez ediciones rápidas de la misma nota se convierten en una. Si fijas una nota mientras sigues escribiendo en ella, la fijación y el texto nuevo se combinan en una sola operación, así que no se pierde ninguno de los dos cambios. Lo único que cuenta es el orden de la cola: un cambio posterior siempre gana a uno anterior, diga lo que diga el reloj del dispositivo.

Una operación solo sale de la cola cuando el servidor la confirma. Si la conexión se corta a mitad de camino, o cierras la app en plena sincronización, la cola sigue ahí la próxima vez y no se pierde nada.

Enviar y luego recibir

La sincronización son dos conversaciones sencillas con el servidor:

  • Enviar. Tu dispositivo manda sus operaciones pendientes por lotes. El servidor aplica cada una y la anota en un registro de cambios de tu cuenta, dando a cada entrada el siguiente número de la secuencia.
  • Recibir. Tu dispositivo pregunta: "¿qué ha cambiado desde el número 1.234?". El servidor responde con todas las entradas del registro posteriores a ese número, y el dispositivo las aplica a su base de datos local.

Como cada dispositivo recuerda el último número que vio, solo descarga lo nuevo. Da igual cuánto tiempo haya estado sin conexión: se pone al día exactamente desde donde lo dejó.

Todo lo que cambia tus notas pasa por ese registro, incluidos los cambios hechos a través de la API o de una herramienta de IA conectada por MCP. Por eso una nota que te escribe un asistente de IA aparece en todos tus dispositivos como cualquier otra.

Cómo se detectan los conflictos

Cada edición que envía tu dispositivo lleva una marca de la última versión de esa nota que vio. Si la copia del servidor ha cambiado desde entonces, porque otro dispositivo la editó mientras tanto, el servidor no sobrescribe nada. En su lugar, responde con su propia copia.

Entonces tu dispositivo intenta una combinación a tres bandas, la técnica que usan las herramientas de control de versiones. Compara tres textos: la versión de la que partieron ambos dispositivos, la tuya y la del servidor. Si las ediciones tocan partes distintas de la nota, las combina y envía el resultado, y ni te enteras. Solo cuando los dos dispositivos han cambiado las mismas líneas te pregunta Caliu qué versión conservar. Consulta el artículo «Resolver conflictos de sincronización».

Algunos cambios nunca pueden entrar en conflicto. Fijar, archivar y poner una nota en solo lectura no cuentan como ediciones de su texto, así que se combinan sin problema con cualquier otra cosa.

Las mismas reglas en cada dispositivo

Las apps web, de Apple y de Android están escritas en tres lenguajes distintos, pero siguen las mismas reglas de sincronización. Las reglas para ordenar la cola se comprueban en las tres con un mismo conjunto compartido de casos de prueba, así que un cambio hecho en un dispositivo se trata igual en todos los demás.

Sin cuenta

Sin cuenta, nada sale nunca de tu dispositivo. Cuando inicias sesión, las notas que ya tenías en el dispositivo se unen a tu cuenta y se envían como cualquier otro cambio.