Save files aren't syncing, neither devices download, only upload
AT-4 opened this issue · 24 comments
Describe the bug
Saves aren't syncing properly, just uploads everything from each devices side, no downloading. Tested Ryujinx (Switch emulator) save files, Fire Emblem Engage specifically.
To Reproduce
Steps to reproduce the behavior:
- Finish playing on Windows device, open up Open Cloud Saves, select game and click "Sync Game". Click confirm.
- Open up Dropbox and see that all files have been uploaded, I can see this by checking the date/time modified matching with what I have on my Windows device.
- Now open up Open Cloud Saves on Steam Deck.
- Click game, click "Sync Game", and then confirm.
- I can see through Dropbox that all the files from my Steam Deck have been uploaded, and the latest files have been deleted.
Expected behavior
I assumed the program would just download whatever the latest files would be on to the device asking to sync (in my case the Steam Deck downloading files from the Windows device's upload) if the files on the current device are older than what's on the cloud.
I also tried adding an empty text file with Windows device to sync (this does get uploaded, can be seen through the Dropbox site), and when I click sync on the Steam Deck's end, the text file gets deleted.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):
-
OS: Windows 10
-
Version 21H2, 19044.2604
-
Steam Deck 3.4.4
Additional context
On the off chance that the files did sync properly (i.e the Steam Deck downloading the latest saves), I booted it up on the Deck, but can confirm it didn't.
Tried this a couple of times, but had the same results.
Thank you for the report. I will attempt to reproduce this. Some additional questions:
- What is the output of the sync operation when you sync on your PC? What does the GUI display when performing the sync?
- If you would like, you can attempt to switch to bi-sync in the settings. I would recommend making a backup of the data first, but see if that if successful.
Follow up - I have a repro for this and I am going to push out a hotfix tonight.
Edit: Hotfix pushed, try downloading 0.17.4 and attempting this again.
Updated both devices, played a bit more on my Windows device, so went to sync from there. It's been stuck on the "simulating transfer - please wait" screen. Prior to this, the windows path was deleted so it failed to transfer, had to re-add that back in.
Updated both devices, played a bit more on my Windows device, so went to sync from there. It's been stuck on the "simulating transfer - please wait" screen. Prior to this, the windows path was deleted so it failed to transfer, had to re-add that back in.
Thanks for the follow up. I have a couple of ideas:
- If you are comfortable doing so, can you disable "dry-run" in settings and see if you still get that behavior? If you do, can you see if the save data was properly sync'd but the UI didn't update?
I think there may be an issue with Dropbox and dry runs, but it's intermittent so I'm not sure if something else is happening.
Updated both devices, played a bit more on my Windows device, so went to sync from there. It's been stuck on the "simulating transfer - please wait" screen. Prior to this, the windows path was deleted so it failed to transfer, had to re-add that back in.
Thanks for the follow up. I have a couple of ideas:
- If you are comfortable doing so, can you disable "dry-run" in settings and see if you still get that behavior? If you do, can you see if the save data was properly sync'd but the UI didn't update?
I think there may be an issue with Dropbox and dry runs, but it's intermittent so I'm not sure if something else is happening.
Dry run disabled, it didn't get stuck, but it didn't upload the files (even though they had a more recent modified date), it just downloaded what was already on the cloud again instead.
Updated both devices, played a bit more on my Windows device, so went to sync from there. It's been stuck on the "simulating transfer - please wait" screen. Prior to this, the windows path was deleted so it failed to transfer, had to re-add that back in.
Thanks for the follow up. I have a couple of ideas:
- If you are comfortable doing so, can you disable "dry-run" in settings and see if you still get that behavior? If you do, can you see if the save data was properly sync'd but the UI didn't update?
I think there may be an issue with Dropbox and dry runs, but it's intermittent so I'm not sure if something else is happening.
Dry run disabled, it didn't get stuck, but it didn't upload the files (even though they had a more recent modified date), it just downloaded what was already on the cloud again instead.
That is odd - I will try to repro this. Are you willing to upload a zip of one of both sets of the save data?
Update: I figured out the repro, will get out another hotfix.
Hotfix is out as 0.17.5 - I apologize for this churn and bug whack-a-mole, but I think I have it now.
Going forward, the next feature I am going to work on is a more robust test suit to catch these issues prior to release for some of these edge cases I am finding. Thank you for your awesome reports.
Alright, so went with the same process, Windows device to Steam Deck. This process worked fine, no issues (Dry run disabled from last time).
Progressed the save a little to make sure that I was going to upload a new save to transfer back (Deck to Windows). This is where it didn't work, the Deck ended up not uploading it's files, and downloaded what was already on the cloud.
Also happy to help!
Alright, so went with the same process, Windows device to Steam Deck. This process worked fine, no issues (Dry run disabled from last time).
Progressed the save a little to make sure that I was going to upload a new save to transfer back (Deck to Windows). This is where it didn't work, the Deck ended up not uploading it's files, and downloaded what was already on the cloud.
Also happy to help!
And both devices are 0.17.5? Hmmm.
Can you check the modified date for the file on the deck va the one on the cloud prior to sync?
Alright, so went with the same process, Windows device to Steam Deck. This process worked fine, no issues (Dry run disabled from last time).
Progressed the save a little to make sure that I was going to upload a new save to transfer back (Deck to Windows). This is where it didn't work, the Deck ended up not uploading it's files, and downloaded what was already on the cloud.
Also happy to help!And both devices are 0.17.5? Hmmm.
Can you check the modified date for the file on the deck va the one on the cloud prior to sync?
That's right, both devices updated.
The times for last modifed are correct when you click the game and can see all the details on the saves app, but it's after the sync that they go back to what was on the cloud prior. Just tried it again and had the same thing happen, no files get uploaded, just downloaded off the cloud.
Alright, so went with the same process, Windows device to Steam Deck. This process worked fine, no issues (Dry run disabled from last time).
Progressed the save a little to make sure that I was going to upload a new save to transfer back (Deck to Windows). This is where it didn't work, the Deck ended up not uploading it's files, and downloaded what was already on the cloud.
Also happy to help!
And both devices are 0.17.5? Hmmm.
Can you check the modified date for the file on the deck va the one on the cloud prior to sync?
That's right, both devices updated.
The times for last modifed are correct when you click the game and can see all the details on the saves app, but it's after the sync that they go back to what was on the cloud prior. Just tried it again and had the same thing happen, no files get uploaded, just downloaded off the cloud.
Gotcha - can you provide a screenshot of the output on the deck? Or just copy and paste the output from the sync?
Can you try uninstalling the flatpak and reinstalling it? I have been able to repro everything so far, but I am unable to repro this one; I am able to sync fine between my linux and windows devices as I update files.
Just tried it again for the sync copy and paste, same result.
Here's the output:
Updated modification time in destination
Updated modification time in destination
Updated modification time in destination
Updated modification time in destination
Updated modification time in destination
Copied (replaced existing)
Copied (replaced existing)Transferred: 407.584 KiB / 407.584 KiB, 100%, 0 B/s, ETA -
Checks: 7 / 7, 100%
Transferred: 2 / 2, 100%
Elapsed time: 1.1sCommitting uploads - please wait...
There was nothing to transferTransferred: 0 B / 0 B, -, 0 B/s, ETA -
Checks: 7 / 7, 100%
Elapsed time: 0.5sCommitting uploads - please wait...
Sync Complete!
Could you point me in the right direction for correctly uninstalling it? The Deck is my first experience with Linux, I'm still getting to grips with things, sorry!
Updated modification time in destination
Actually I don't need you to uninstall the flatpak - I can see that you are indeed on the latest version from the output. What is the timestamp of the file on your local machine, and what is the timestamp of the file on the cloud? You may need to log into drop box to verify the timestamp of the cloud file.
Update: I am still unable to repro this, but there are a couple of things that are possible. Our sync logic works off of timestamp, so if the cloud file is newer then your local file, your local file won't upload. This may be timestamp related.
So that's the thing, I have had Dropbox open and keeping an eye on the times, the Dropbox times match what's currently on my Windows machine.
The times on the Deck prior to me syncing it, showed later times for all the files through the app before clicking sync. After syncing, the times revert back to match what's on the cloud/Windows machine.
Opening the save confirms it is the same save as what's on the cloud/Windows.
So that's the thing, I have had Dropbox open and keeping an eye on the times, the Dropbox times match what's currently on my Windows machine.
The times on the Deck prior to me syncing it, showed later times for all the files through the app before clicking sync. After syncing, the times revert back to match what's on the cloud/Windows machine.
Opening the save confirms it is the same save as what's on the cloud/Windows.
Can you copy/paste the timestamps or screenshot them?
Windows files: https://i.imgur.com/ZIGwpFS.png
Dropbox files: https://i.imgur.com/xRYLcdy.png
Steam deck files: https://i.imgur.com/tBKe9r2.png
Open cloud on Steam Deck before sync: https://i.imgur.com/G4AUGeL.png
Open cloud on Steam deck after sync: https://i.imgur.com/yOjP7wj.png
Sync output: https://i.imgur.com/fwz4GNN.png
Files after sync on Deck: https://i.imgur.com/UHUraDs.png
Interesting - I think I have an idea of what is going on. Thanks for these - good info. As a last request, are you willing to give me a zip of those files? If not, I think I can try to repro.
Sure; https://www.dropbox.com/sh/yhc8015a6bq3mfv/AAAmQ55VSFs54tWG_mETjFwKa?dl=0
This link should work
Thanks to your files - I have a repro now. I think that the issue is that these files have the same size, and I wasn't using the --checksum flag for rclone. Because they have the same size, rclone sees them as the same file with our current config and copies from remote to client.
I will test and get a new release out if that is the case.
This got auto-closed, but I want to confirm that this is actually fixed by 0.17.6
Release is out - let me know if you still are running into issues @AT-4
Edit: we're also on flathub now and should be on the Discover store; so upgrading should be a little easier.
Latest version seems to have done the trick!
Can confirm downloading/uploading on both devices working.
A couple of things though:
Windows program gets stuck on "Performing Sync", dry run is still not enabled from last time. Looking on Dropbox it seems to have uploaded everything fine. So I just closed out of it and the files are still good.
With the Windows sync, I noticed it uploaded all the files (including ones untouched, which is fine), whereas syncing files from the Deck only uploaded files that were definitely modified.
e.g. Fire Emblem Engage has a couple of saves, auto save, first save, second save and so on, the deck uploads auto and the second save as they were the only ones that changed, in comparison to Windows where it just uploads everything
The Deck client performs similarly by downloading the changed files, but reuploads the untouched files, replacing the Windows uploads.
Awesome - thanks for the feedback. I will investigate those quirks further, but I am going to close this issue for now as resolved.