Skip to content

How FUTO Notes sync works

FUTO Notes syncs on its own. While the app is open and connected to your server, a note you save reaches your other open devices about a second later, and their changes reach you the same way, with nothing to press.

This page covers self-hosted sync, the only kind available today. To run the server, see Self-host FUTO Notes sync.

What happens during a sync

Each sync compares your notes folder with the state it last synced. It uploads what changed on this device first, then downloads what changed on the server since the last sync. Every note is encrypted on the device before it leaves; see how the encryption works.

Because a sync compares the folder, not a list of pending edits, nothing is lost if the app closes or the network drops partway. The next sync picks up whatever is different. That includes notes and images that other apps add or change in the notes folder.

What “live” sync means

While it is connected, the app keeps one long-lived connection open to the server (/api/sync/events, a server-sent event stream). When any device uploads a change, the server announces it on that connection, and each connected device downloads it within a fraction of a second.

  • Your edits: after a save, the app waits for 1 second without further changes, then uploads.
  • Safety net: while the live connection is up, the app also runs a full sync every 45 seconds.
  • Dropped connection: the app reconnects on its own. It waits 1 second before the first attempt and doubles the wait each time, up to 30 seconds. Each reconnect starts with a full sync, so nothing is missed.

A reverse proxy that buffers or cuts off this connection breaks live sync; see sync troubleshooting.

When sync runs on desktop

On Linux, macOS and Windows, the app also syncs on these triggers:

TriggerWhen
LaunchAs soon as the saved password has loaded. If that first sync fails, the app retries after 4, 8, 16, 30 and 30 seconds.
TimerEvery 15 seconds while the live connection is down, every 2 minutes while it is up.
FocusWhen the window regains focus or becomes visible, if the last successful sync was more than 10 seconds ago.
Network backWhen the operating system reports the network is back.
Sync nowWhen you press it.

Background syncs wait while you type. If you edited in the last second, a save is still pending, or an input method is composing text, the sync retries 1 second later.

When sync runs on iOS and Android

The phone apps run only the live connection. They don’t use the desktop timers.

  • Launch: the app reconnects with the saved password, runs a full sync, then opens the live connection.
  • While the app is open: edits upload 1 second after you stop, changes from other devices arrive as they are announced, and a full sync runs every 45 seconds.
  • Returning to the app: the live connection reopens and catches up.
  • Sync now: runs a sync when you tap it.

The phone apps stop syncing when they go to the background. If you leave the app less than a second after an edit, that edit uploads the next time you open the app.

Working offline

You can read, write, move and delete notes with no connection. Every change is saved in your notes folder and uploads at the next sync.

  • Desktop: a crossed-out Wi-Fi icon shows while the operating system reports no network, and the app syncs as soon as the network is back. A server that stops responding shows Reconnecting… first, and becomes an error only if it lasts 3 minutes.
  • iOS and Android: the live connection keeps retrying, and Settings may show “Live sync is temporarily unavailable. FUTO Notes will keep retrying.”

If two devices edit the same note while apart, the edits merge when both are back online, or you get a conflict copy. See Sync conflicts.

Sync now

Sync now starts a sync by hand. You rarely need it, but it is useful for checking the connection, because a manual sync reports errors straight away.

  • Desktop: Settings → Sync → Sync now. It saves the note you are editing first, then shows “Sync complete” when it finishes.
  • iOS and Android: Settings → Self-hosted sync → Sync now. On iOS, the cloud icon above the note list opens the same screen.

Set up a second device

Every device connects to the same server with the same sync password. There is no separate pairing step.

  1. Install FUTO Notes on the new device.
  2. Open Settings → Sync on desktop, or Settings → Self-hosted sync on iOS and Android.
  3. Enter the Server URL, including http:// or https://, exactly as on your first device.
  4. Enter the same sync password.
  5. Press Connect on desktop, or Connect & Sync on iOS and Android.

The first sync downloads everything on the server. If the new device already has notes, they are uploaded too, and you end up with both sets. A note that exists on both with the same name and different text is kept twice; see first sync on a device that already has notes.

The password is saved in the operating system’s keyring on desktop, the Keychain on iOS, and the Android Keystore, so the device reconnects by itself after a restart. See Sync password.

Disconnect a device

On desktop, use Reset connection in Settings → Sync. On iOS and Android, use Disconnect. The device stops syncing and forgets the saved password. Your notes stay on the device and on the server.

If you connect again later, the app remembers what each note looked like when it last synced, so matching notes are linked up again instead of duplicated.

Next steps