Hello, I have a small problem with the synchronization.
The following step-by-step instructions:
(synchronization ESS = on)
Create Item A in Inbox
(synchronisation ESS = on)
Item A is synchronized
modify Item A - add some lines ABC
mobile-phone1 (without internet access):
modify Item A - add some other lines DEF
turn on internet
Synchronization is performed
The change of PC1 “add some lines ABC” disappears, it is only “add some other lines DEF” visible
I guess only the timestamp is compared and the newer item wins, the older modification is completely lost. If it is not possible automatically, a conflict warning should appear and both entries should be offered for manual correction.
(BTW: It is a very cool product - I love that I can encrypt my data before synchronization and it is completely offline / cloud-free. ESS is only an (very good) add-on with encryption before upload.)
The latest timestamp does indeed win when it comes to the current merging strategy.
The assumptions are
- the user doesn’t normally update the same property (description) on different devices in parallel (in between sync runs).
- even if he does, he would still prefer the later version to persist
The reasons they were made is because they lead to a reasonable trade-off between functionality and the complexity of implementation.
Sometimes these assumptions turn out to be false, especially for the description field. But hopefully it’s rare enough.
I mention to add a note in the documentation so everybody has to know this limitation.
As second “security” factor I would suggest to insert a “last-successful-sync” date and time somewhere in the title-bar or somewhere I can see, that synchronization is up to date (best with date and time or a delta between now and last sync (for example 10 minutes ago)?
Yes, the sync status indication is definitely needed. Sometimes the network connection is poor or missing and it’s possible to be unaware that sync isn’t running.