Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.Sign up
Fetching remote changes before resolving dirty state #152
In your README, you mention that dirty local changes must be sent to server first (https://github.com/nilbus/Backbone.dualStorage#data-synchronization), before new content from the server is fetched. For my use case, I'd need the opposite effect, can that be achieved?
Basically I've set up a work area that multiple users can access. When the user goes offline, he's welcome to continue working in the area, but is notified that his changes could create conflicts with other users. When the user's connection is restored, I need the local client to detect if user's changes can be applied cleanly or if the online room has diverged in the meantime. In the event it has diverged, the user could choose which changes to discard and which to merge, very similar to git's merge mechanism.
However, to accomplish this, I need to fetch the server state first, before applying user changes.
No, there's nothing built in for that mode of operation.
You might consider creating a new API endpoint (with a model that does not use dualstorage) that returns either a hash representing the room content or the room's last updated timestamp. When connectivity is restored or before pushing, ensure the room hasn't changed since its last known state. If it has, assume or check for conflict.