Commit Graph

82 Commits

Author SHA1 Message Date
Riley Testut
d1643dbc8f Throws SyncValidationError when downloading corrupted versions of “verified” SaveStates
After reviewing save states upon first launch, Delta will upload the verified game ID as metadata to ensure other devices don’t download remote versions with incorrect relationships.
2023-08-11 18:57:27 -05:00
Riley Testut
a80ac04650 Fixes corrupted Harmony database relationships after heavyweight migration 2023-08-10 19:33:26 -05:00
Riley Testut
25e237cfcb [Delta Sync] Uses local modification date when uploading changes
Previously we used the server’s modification dates, which could be confusing when comparing against local modification dates since the same version may have different dates.
2023-07-10 19:00:39 -05:00
Riley Testut
8ea40a4728 [Delta Sync] Fixes queued syncs sometimes fetching outdated changes
Rare, but more common when performing initial sync.
2023-07-07 18:22:32 -05:00
Riley Testut
29f152fcb3 [Delta Sync] Repairs references to remote files when signing out then back in
Fixes redundant uploads and potentially ophaned remote files, the latter due to no remote files being deleted if LocalRecord.remoteFiles is empty.
2023-07-07 18:22:26 -05:00
Riley Testut
5779927831 [Delta Sync] Delays seeding Harmony database until initial sync 2023-07-07 18:19:07 -05:00
Riley Testut
f184639c6b [Delta Sync] Fixes incorrect mass conflicts when signing out then back in 2023-07-07 18:17:13 -05:00
Riley Testut
c898f72847 Fixes “file does not exist” sync error after restoring previous version
Due to a bug, it was possible for Harmony records to contain duplicate file entries after restoring a previous version. Harmony would then try to download _all_ files, including the duplicates, and would fail if any of them no longer exist.

These changes fix the underlying bug, and also fix existing corrupted records on the fly.
2023-06-28 13:45:44 -05:00
Riley Testut
981c868f6e Fixes “Harmony.sqlite couldn’t be opened” sync error when there are more than 1000 games 2023-06-28 13:37:20 -05:00
Riley Testut
08a40b3516 [Pods] Updates GoogleSignIn dependency to 5.0.2
* GoogleSignIn (4.4.0 -> 5.0.2)
* GTMSessionFetcher (1.5.0 -> 1.7.2)
* GoogleToolboxForMac (Removed)
2023-05-10 13:30:30 -05:00
Riley Testut
d204ea35bd Adds CheatBase dependency 2023-01-31 14:36:11 -06:00
Riley Testut
d4e22942b8 [Harmony] Fixes potential Core Data threading violation 2022-05-31 17:55:23 -07:00
Riley Testut
af6b92a441 Fixes erroneous sync error when syncing deleted files that were never uploaded 2021-03-11 13:49:15 -06:00
Riley Testut
98ed657f8a Improves support for transparent and/or rotated custom artwork 2021-03-10 14:14:14 -06:00
Riley Testut
a58d201b1b Fixes crash launching home screen shortcut when AppIconShortcutsViewController is visible 2021-01-04 14:22:44 -06:00
Riley Testut
610697be5d Updates Harmony to add future backwards compatibility
Harmony will now persist properties from future model versions and later upload them, allowing for basic backwards compatibility.
2020-04-27 12:25:55 -07:00
Riley Testut
d99b54f8ff Fixes broken submodule reference 2020-02-11 19:02:21 -08:00
Riley Testut
89db6b0d3a Migrates from Core Data model v4 to v5 2020-02-11 15:59:47 -08:00
Riley Testut
6cca0f244f Replaces frameworks with static libraries
As of iOS 13.3.1, apps installed with free developer accounts that contain embedded frameworks fail to launch. To work around this, we now link all dependencies via Cocoapods as static libraries.
2020-02-03 19:28:23 -08:00
Riley Testut
4e772c077b Updates Roxas 2019-10-16 10:44:51 -07:00
Riley Testut
1e350e1369 Automatically resolves GameCollection + GameControllerInputMapping conflicts 2019-09-19 13:29:51 -07:00
Riley Testut
08c61ad66b Improves error message when Dropbox prevents downloading games due to copyright 2019-09-18 12:39:36 -07:00
Riley Testut
1528672e0e Updates Harmony 2019-09-14 14:38:30 -07:00
Riley Testut
6e6c7a68bd Adds AppIconShortcutsViewController placeholder message 2019-08-07 12:46:20 -07:00
Riley Testut
84e44f5aee Displays more detailed sync progress in RSTToastView 2019-03-25 15:46:01 -07:00
Riley Testut
483ad69678 Adds support for syncing with Dropbox 2019-03-20 10:47:17 -07:00
Riley Testut
803d180a9b Adds ability to import game save files 2019-03-01 11:42:37 -08:00
Riley Testut
3b05afd21e Automatically syncs when entering/returning from background 2019-02-25 17:13:47 -08:00
Riley Testut
6b8414ccdc Updates dependencies 2019-02-25 15:21:35 -08:00
Riley Testut
fe6701c82c Migrates to Swift 5 2019-02-25 13:50:11 -08:00
Riley Testut
14e2eefc42 Updates Harmony dependency 2019-02-25 12:29:45 -08:00
Riley Testut
786450c8e9 Updates dependencies 2019-02-20 17:20:11 -08:00
Riley Testut
4f30dce4ec Increases syncing RSTToastView font size 2019-02-05 14:20:32 -08:00
Riley Testut
90c04ee62e Prevents launching games while downloading their game saves
This minimizes potential for data loss.
2019-02-05 14:14:39 -08:00
Riley Testut
d446e3612f Fixes unauthorized access and rate limit Harmony errors 2019-01-31 17:03:25 -08:00
Riley Testut
3b7cb49d89 Adds support for migrating to latest Core Data model from any previous version 2019-01-31 12:19:34 -08:00
Riley Testut
3bd0a35c61 Adds support for syncing GameSaves 2019-01-29 15:07:46 -08:00
Riley Testut
dbe298f2a7 Adds complete support for (de)authenticating users 2019-01-19 16:10:55 -08:00
Riley Testut
878506e34f Adds ability to view previous sync results from SyncStatusViewController 2019-01-19 13:42:03 -08:00
Riley Testut
86beaaaaa4 Adds ability to view details of record errors in SyncResultViewController
Also updates error handling to match revised Harmony errors.
2019-01-18 16:08:04 -08:00
Riley Testut
bace668739 Adds SyncResultViewController to view errors that occured during sync 2018-12-04 17:21:04 -08:00
Riley Testut
f8c47fcb86 Adds RecordVersionsViewController
Allows users to restore remote versions of records, or resolve conflicts
2018-12-04 16:21:10 -08:00
Riley Testut
fa4803373b Displays Harmony conflict count in SettingsViewController 2018-11-27 14:42:43 -08:00
Riley Testut
ca4ccfc3ae Adds basic GameSyncStatusViewController to view status of game-related records 2018-11-20 14:47:47 -06:00
Riley Testut
5354d779c1 Adds SyncStatusViewController to view basic sync status of games 2018-11-20 13:04:55 -06:00
Riley Testut
c1fc0d1ce3 Fixes game artwork not refreshing after syncing 2018-11-20 13:04:31 -06:00
Riley Testut
c3301f9384 Displays basic toast view when syncing starts/finishes 2018-11-14 19:01:55 -08:00
Riley Testut
a3108e6c3a Adds support for syncing GameControllerInputMappings 2018-11-14 15:36:16 -08:00
Riley Testut
fb9272cd6c Adds support for syncing SaveStates 2018-11-14 13:42:36 -08:00
Riley Testut
f858a3eb07 Adds support for syncing Games and GameCollections 2018-11-14 13:18:48 -08:00