背景:app 的设计使用场景不具有可靠的网络连接,很可能需要在非常慢甚至完全离线的状态下工作。app 本质上是个照片管理器,基本功能包括拍照,编辑照片,照片分享。支持多用户在同一容器内工作,例如 A 拍的照片可能由 B 编辑,由 C 将编辑过的照片分享出去。用户没有角色之分,任意用户可以执行任意操作。
问题:如何同步用户在离线状态下的操作并尽量优雅地解决版本冲突?比如用户 A 离线编辑了一张照片,又离线删除了这张照片,app 是否仅需要同步删除操作?又比如多个用户都对同一照片进行了离线编辑,如何抉择采纳哪个用户的操作?按时间戳的话设备时间并不可靠。只有让用户手动解决冲突吗?