OpenCloudSaves
OpenCloudSaves copied to clipboard
Detect and Manage conflicts
a common issue while cloud sync is conflict.
use case :
- let's take a game with a mono savegame file and an automatic save (like Elden Ring or Diying Light 2, many others)
- i play on my deck a signifiant time (looted a legendary sword)
- i sync to cloud
- few hours later, i come back house, i decide to play on my pc
- i launch the game, walk two meters, and realize i have not this big legendary sword i looted this morning, oops i forgot to sync my savegame
- i quit game
- i try to sync, and damn, the autosave saved my two meters walk, and my pc savegame is newer than my cloud one
proposition :
the activation of this feature could be a per game option (i have in mind your explications, between sync and bisync)
- the easy one : add a 'force download' button (already requested on another thread)
- the smart one (it's just to write the idea, you are free to implement this as you can/want) :
keep a .lastSync file in savegame dir (or in an index), with the timestamp of last sync.
on sync, if local timestamp is older than cloud timestamp and local save newer than cloud save
there is a conflict
get local last file timestamp (more revelant than .lastSync)
get cloud last file timestamp
draw a popup with conflict detected and propose to choose between files
else (timestamps equals, or not equal, but local file older than cloud file)
everything is fine,
update the local .lastSync file to now
sync (it will override cloud .lastSync and will be the new reference)
here an example of EGS conflict resolution popup, which i find pretty usefull:

Good suggestion, will target for 0.19.
I may reconsider having dry-runs enabled be a default setting, once this feature is enabled. In theory it should cover what dry run is covering.