Sync troubleshooting
Start here when the status chip says Sync error, a restore looks wrong, or two devices disagree.
Pending changes never clear
The outbox is durable. If the app was killed during a push, the same ops are retried. Duplicates are no-ops. Choose Push and pull. If the count stays still, open Repair and verify that replay matches the materialized state.
Ops from an old epoch
A restore starts a new epoch. Ops stamped with the previous epoch are rejected. That is how a 30-day-old backup cannot overwrite the household by accident. Open Restore backup, read the confirm-diff, and either reject (this device rebuilds from the server) or restore as new history (compensating ops in the new epoch).
Rebuild this device
- Open Sync → Repair.
- Check that replay matches.
- Choose Rebuild this device. Local data and the outbox are wiped. The snapshot plus the op tail are applied again.
Use this after a checksum mismatch or a corrupted local file. Other devices are not touched.
Clock skew
A device ±24 hours still converges. The chip may warn if the clock is more than five minutes off. Set the system clock; do not edit HLCs by hand.
PowerSync
PowerSync is not wired. If a future hosted shortcut is added, the mutation layer stays this op-log. Do not point the SQLite file at a synced folder.