Data Management·
Sync and Consistency
How cloud sync works under a local-first model, how to turn it ON/OFF, and the behavior when conflicts occur.
Sync Assumptions
niyase's desktop / mobile apps are local-first. The SQLite on your device is the single source of truth, and the cloud is positioned as a replica.
- Not logged in: No sync. Fully local
- After logging in: Choose sync ON/OFF per space
Turning Sync ON/OFF
Toggle it from Space settings → Sync tab.
- ON: Edits are automatically reflected to the cloud and become visible on your other devices
- OFF: Stays local. Data is not uploaded to the cloud
"Log out" and "sync OFF" are different concepts. Even after you log out, local data remains in a "cloud-cached" state.
Sync Status in the App Bar
The app bar always shows a sync status icon (the reassurance of the Google Docs model).
| Indicator | State |
|---|---|
| ◯ green | Fully synced |
| ↻ blue | Syncing |
| ⚠ yellow | Conflict present / temporarily retrying |
| ✕ gray | Sync OFF or not logged in |
Behavior on Conflicts
When the same record is edited simultaneously on multiple devices:
- Last-write-wins by default, but important fields are protected
- All changes remain in the audit log
- The UI notifies you that a conflict exists → you can manually merge from the history
What Is Not Included in Sync
- Device-specific settings (display color, pin order, etc.)
- Local cache (PDF thumbnails, etc.)
- Login sessions
Troubleshooting
When sync is not progressing:
- Click the status in the app bar to view details
- Check your network connection
- Run "Retry sync" for the relevant space
- If it still does not resolve, see Troubleshooting