L'article «Com funciona la sincronització» explica el que veus. Aquest baixa un nivell més, fins al que cada dispositiu i el servidor fan realment amb els teus canvis.
Cada canvi es converteix en una operació
Quan edites una nota, el teu dispositiu fa dues coses en un sol pas: desa el text nou a la seva base de dades local i afegeix una operació a una cua, un petit registre que diu "aquesta nota ha canviat, aquí tens la versió nova". Crear, editar, fixar, etiquetar, arxivar i eliminar una nota són totes operacions.
Abans d'enviar la cua, el dispositiu la posa en ordre. Deu edicions ràpides de la mateixa nota es converteixen en una. Si fixes una nota mentre encara hi escrius, la fixació i el text nou es fusionen en una sola operació, així que no es perd cap dels dos canvis. L'únic ordre que compta és el de la cua: un canvi posterior sempre guanya un d'anterior, digui el que digui el rellotge del dispositiu.
Una operació només surt de la cua quan el servidor la confirma. Si la connexió es talla a mig camí, o tanques l'app enmig d'una sincronització, la cua continua allà la pròxima vegada i no es perd res.
Enviar i després rebre
La sincronització són dues converses senzilles amb el servidor:
- Enviar. El teu dispositiu envia les operacions pendents per lots. El servidor aplica cadascuna i l'anota en un registre de canvis del teu compte, donant a cada entrada el número següent de la seqüència.
- Rebre. El teu dispositiu pregunta: "què ha canviat des del número 1.234?". El servidor respon amb totes les entrades del registre posteriors a aquest número, i el dispositiu les aplica a la seva base de dades local.
Com que cada dispositiu recorda l'últim número que va veure, només baixa el que és nou. No importa quant de temps hagi estat sense connexió: es posa al dia exactament des d'on ho havia deixat.
Tot el que canvia les teves notes passa per aquest registre, inclosos els canvis fets a través de l'API o d'una eina d'IA connectada per MCP. Per això una nota que t'escriu un assistent d'IA apareix a tots els teus dispositius com qualsevol altra.
Com es detecten els conflictes
Cada edició que envia el teu dispositiu porta una marca de l'última versió d'aquella nota que va veure. Si la còpia del servidor ha canviat des d'aleshores, perquè un altre dispositiu l'ha editada mentrestant, el servidor no sobreescriu res. En lloc d'això, respon amb la seva pròpia còpia.
Aleshores el teu dispositiu prova una fusió a tres bandes, la tècnica que fan servir les eines de control de versions. Compara tres textos: la versió de la qual partien tots dos dispositius, la teva i la del servidor. Si les edicions toquen parts diferents de la nota, les combina i envia el resultat fusionat, i ni te n'adones. Només quan tots dos dispositius han canviat les mateixes línies Caliu et pregunta quina versió vols conservar. Consulta l'article «Resoldre conflictes de sincronització».
Alguns canvis no poden entrar mai en conflicte. Fixar, arxivar i posar una nota en només lectura no compten com a edicions del text, així que es fusionen sense problemes amb qualsevol cosa.
Les mateixes regles a cada dispositiu
Les apps web, d'Apple i d'Android estan escrites en tres llenguatges diferents, però segueixen les mateixes regles de sincronització. Les regles per posar en ordre la cua es comproven a totes tres amb un mateix conjunt compartit de casos de prova, així que un canvi fet en un dispositiu es tracta igual a tots els altres.
Sense compte
Sense compte, res no surt mai del teu dispositiu. Quan inicies la sessió, les notes que ja tenies al dispositiu s'afegeixen al teu compte i s'envien com qualsevol altre canvi.