also wondering how you should reconcile an edit on an object with a deletion of that same object (before the edit happens), i guess create the object again with the edit?
ohh this seems like a very useful resource: "Offline First" https://github.com/hoodiehq/hood.ie/blob/gh-pages/_posts/2013-11-05-say-hello-to-offline-first.md
thinking about an operation-based Conflict-free replicated data type thing
https://en.wikipedia.org/wiki/Conflict-free_replicated_data_type
and also the user-friendliness of it all, if you did a bunch of changes on a device without syncing, then continued work and that old device comes back online way later, would you even want to apply those actions still?