Why was my local change dropped?
EmberTrack is offline-first — here is what happens when devices disagree.
The short version
You made a change while offline (or before a sync completed). By the time EmberTrack tried to save it, the server already had a different — and newer — version of that data. The server’s version was kept and your local change was discarded.
How offline sync works
EmberTrack stores your streaks locally so the app works without an internet connection. When you make a change offline, it is held in a local queue and sent to the server the next time you are online.
Before sending queued changes, EmberTrack fetches the latest data from the server. If the server already has a newer state (because another device synced, or you made a change on the web), your queued change may conflict with what the server knows.
Server wins — always
EmberTrack uses a server-wins policy: when there is a conflict, the server’s version of the data is the truth. Your local optimistic state is replaced with whatever the server returns. This keeps all your devices consistent and prevents duplicate check-ins or ghost streaks.
Common scenarios
Streak deleted on another device
You edited a streak name on your phone while offline. Meanwhile, you deleted that streak on your computer. When your phone reconnected, the server returned 404 for the edit — the streak no longer exists. The edit was dropped and the streak stays deleted.
Check-in already recorded
You checked in on the web, then checked in again on your phone while offline. When your phone synced, the server rejected the second check-in (already done this period). The duplicate was dropped and your streak count is correct.
Do I need to do anything?
No. EmberTrack handled it automatically. Your data is now in sync with the server. If you want to see exactly which changes were dropped and why, open the sync indicator in the top navigation bar and click the red conflict badge.