Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Detect and Manage conflicts #97

Open
hicwic opened this issue Mar 24, 2023 · 1 comment
Open

Detect and Manage conflicts #97

hicwic opened this issue Mar 24, 2023 · 1 comment
Labels
enhancement New feature or request

Comments

@hicwic
Copy link

hicwic commented Mar 24, 2023

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:
image-5-600x341

@DavidDeSimone
Copy link
Owner

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.

@DavidDeSimone DavidDeSimone added the enhancement New feature or request label Mar 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants