Repository navigation
Save Sync through a folder or the AnyTogether cloud, and Cloud Storage - #43
Merged
Merged
Conversation
…loud Storage The Mac's SaveSync and TogetherCloudSave in Dart, file for file and on the same slot: a folder (OneDrive, Dropbox, Syncthing, a shared drive, iCloud Drive where iCloud for Windows set it up) or the AnyTogether cloud, before a game starts and after it ends. The question when both sides changed or the quota is full, the syncing flag that keeps the profile and a second start, a server without storage hiding the cloud rows, Cloud Storage with each game's versions, Restore and Delete.
# Conflicts: # assets/l10n/en.json # assets/l10n/tr.json # lib/ui/app_model.dart
# Conflicts: # RELEASE_NOTES.md # assets/l10n/en.json # assets/l10n/tr.json
# Conflicts: # RELEASE_NOTES.md # lib/ui/app_model.dart
# Conflicts: # RELEASE_NOTES.md # lib/ui/app_model.dart # lib/ui/panels.dart
# Conflicts: # RELEASE_NOTES.md
# Conflicts: # RELEASE_NOTES.md # assets/l10n/en.json # assets/l10n/tr.json # lib/ui/app_model.dart
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Brings the Mac launcher's Save Sync and AnyTogether cloud saves to the Windows and Linux launcher. It also wires up the profile "syncing" refusal, which nothing set before.
Through a folder (
lib/core/save_sync.dart) ports the Mac'sSaveSync.swiftfile for file. The folder holdsAnyPS5/Saves/<title ID>/saves.zip,info.jsonwith the Mac'sdate,digestandmackeys, andOlder/. The digest is computed byte for byte the Mac's way, so a Mac and a PC can share one OneDrive, Dropbox or Syncthing folder. Profiles after the first get their own folder, as on the Mac. iCloud Drive is the default folder only where iCloud for Windows made%USERPROFILE%\iCloudDrive.Through AnyTogether (
lib/core/together/cloud_saves.dart) portsTogetherCloudSave.swiftand the storage calls from AnyTogether's docs/cloud-storage.md:The slot (
AnyPS5 saves) and the record are the Mac's.Not available:
GET /storageis asked at start and at sign-in. A server without storage, or a503 storage_disabledanswer, hides Sync Through and Cloud Storage, and nothing syncs through the cloud.In the launcher (
lib/ui/save_sync_model.dart):ProfileRefusal.syncing).saveSync,syncFolderandsyncThrough, kept per profile as on the Mac.X-Part-SHA256is not sent with parts. The docs say it is optional, and the account's upload call takes no extra headers.Tests:
test/core/save_sync_test.darthas the Mac's SaveSyncTests and TogetherCloudSaveTests cases, run on a pretend cloud (test/support/fake_cloud.dart).test/ui/save_sync_test.dartcovers the settings rows, a sync before start and after the game ends, the syncing refusal, the question and its Back, and Cloud Storage restore and delete.test/ui/save_sync_golden_test.dartadds a newcloud_conflictgolden, which I checked.