Commit Graph

831 Commits

Author SHA1 Message Date
Bartłomiej Dach 93b5aec23e
Fix realm migration failures when upgrading from old versions
* `RealmRulesetSetting` was added in 2021.916.0.
* `RealmKeyBinding` was added in 2021.703.0.

Attempting to upgrade from older releases than the above would cause
migrations up to schema versions 10 and 11 to fail.
2021-11-28 15:00:40 +01:00
Dan Balasescu 5e53f51c99
Merge pull request #15812 from peppy/realm-live-unmanaged-fetch-fix
Avoid attempting to fetch a non-managed `RealmLive` instance from the realm backing
2021-11-26 15:37:58 +09:00
Dean Herbert 40d1b97af1 Avoid attempting to fetch a non-managed `RealmLive` instance from the realm backing
For compatibility reasons, we quite often convert completely unmanaged
instances to `ILive`s so they fit the required parameters of a property
or method call. This ensures such cases will not cause any issues when
trying to interact with the underlying data.

Originally I had this allowing write operations, but that seems a bit
unsafe (when performing a write one would assume that the underlying
data is being persisted, whereas in this case it is not). We can change
this if the requirements change in the future, but I think throwing is
the safest bet for now.
2021-11-26 15:06:14 +09:00
Dean Herbert 13612c0d02 Add equality support to `ILive` types 2021-11-26 14:56:16 +09:00
Dan Balasescu f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dan Balasescu d3a4890c31
Merge branch 'master' into realm-integration/stable-export-flow 2021-11-25 19:06:18 +09:00
Dean Herbert e2ebcf7a26 Remove unnecessary manager parameter
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert eeccf836ec Remove unnecessary `GameHost` parameter 2021-11-25 17:42:41 +09:00
Dean Herbert 79459c1aeb Fix typo in class and variable names 2021-11-25 17:12:15 +09:00
Dean Herbert ec9a09d5a4 Add missing licence headers 2021-11-25 16:56:19 +09:00
Dean Herbert cc1b91e4bd Split out legacy model export logic into `LegacyModelExporter` classes 2021-11-25 16:41:12 +09:00
Dean Herbert 7488ccd5fe Update all models to implement `IHasNamedFiles` 2021-11-25 16:41:12 +09:00
Dan Balasescu 6d60725b31
Merge branch 'master' into realm-integration/stable-import-flow 2021-11-25 16:36:02 +09:00
Dean Herbert a0fa030f55 Rename base class to `LegacyModelImporter` 2021-11-25 16:33:04 +09:00
Dean Herbert 2df793ca22 Inline individual importers to avoid unnecessary construction for singular import types 2021-11-25 15:44:04 +09:00
Dean Herbert 9dcb20a821 Rename `Stable` to `Legacy` and add xmldoc 2021-11-25 15:39:05 +09:00
Dean Herbert 6cab7b877d Move stable import handling into its own class 2021-11-25 15:36:58 +09:00
Dean Herbert bcdb73e1e8 Clean up files last 2021-11-25 14:28:27 +09:00
Dean Herbert 315e126497 Add automatic clean-up call for `RealmFileStore` 2021-11-25 14:17:44 +09:00
Dean Herbert fd321109da Remove unnecessary `virtual` specification on `Refresh` 2021-11-25 14:06:12 +09:00
Dan Balasescu 1865227e08
Merge pull request #15773 from peppy/remove-model-file-list-inits
Initialise `IHasFiles<TFile>.Files` lists at construction time
2021-11-24 21:05:36 +09:00
Dean Herbert 052ed8f930 Add online status to `RealmBeatmapSet` 2021-11-24 18:48:02 +09:00
Dean Herbert ddbd4f9473 Merge branch 'master' into remove-model-file-list-inits 2021-11-24 18:39:01 +09:00
Dan Balasescu c4b5a07f4b
Merge branch 'master' into realm-move-data-migration-to-context-factory 2021-11-24 14:40:26 +09:00
Dean Herbert 99a139dc98 Initialise all file lists at construction time (and remove setter) 2021-11-24 13:56:21 +09:00
Dan Balasescu 5a0a95f9d4 Trim whitespace 2021-11-24 13:48:59 +09:00
Dean Herbert 6aed41eacc
Merge branch 'master' into realm-move-data-migration-to-context-factory 2021-11-24 12:38:44 +09:00
Dean Herbert 63b09b356f Rewrite commments to read better 2021-11-24 12:37:09 +09:00
Dean Herbert 6cd1bfd94f Remove outdated comment 2021-11-24 12:35:05 +09:00
Bartłomiej Dach 0d409fa33e
Merge branch 'master' into realm-ruleset-keybinding-short-name 2021-11-23 20:18:58 +01:00
Dean Herbert 6b134359c9 Handle the case where the ruleset isn't found in the EF database any more 2021-11-23 19:15:52 +09:00
Dean Herbert 4149d458f0 Move realm data migrations inside the `RealmContextFactory` 2021-11-23 18:14:15 +09:00
Dean Herbert d9917ee6c7 Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name 2021-11-23 18:13:26 +09:00
Dean Herbert 40cd998f99 Fix incorrect disposal 2021-11-23 18:13:05 +09:00
Dean Herbert 782191c410 Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name 2021-11-23 17:48:48 +09:00
Dean Herbert b1b6723826 Add xmldoc and verbatim string markers 2021-11-23 17:47:43 +09:00
Dean Herbert 505fede44d Pass the full EF context rather than a legacy `RulesetStore` 2021-11-23 17:40:20 +09:00
Dean Herbert d94b27a8a2 Switch realm ruleset key bindings to use ruleset's `ShortName` as key 2021-11-22 18:52:30 +09:00
Dean Herbert 329bae50b0 Switch realm ruleset configuration to use ruleset's `ShortName` as key 2021-11-22 18:52:00 +09:00
Dean Herbert ca26b6c540 Provide `RealmContextFactory` with the EF `RulesetStore` for migration purposes 2021-11-22 18:51:44 +09:00
Dean Herbert d2062ff97f Reformat realm migrations list for legibility 2021-11-22 18:47:18 +09:00
Dean Herbert 361cb78880 Fix realm applying migrations from one version too early 2021-11-22 18:46:46 +09:00
Dean Herbert 59e763467f Move `StoragePath` implementation to an extension method 2021-11-19 16:08:38 +09:00
Dean Herbert 726a0cc091 Merge branch 'master' into beatmap-collection-inteface-types 2021-11-16 15:31:10 +09:00
Dean Herbert a4c11e8813 Use extension method to compare online IDs 2021-11-15 14:34:50 +09:00
Bartłomiej Dach e66b637587
Merge branch 'master' into fix-android-score-imports 2021-11-12 11:40:15 +01:00
Dean Herbert 692e846acd Rename `BeatmapSetInfo.OnlineBeatmapSetID` to `OnlineID` to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert 6a098a8634 Rename `BeatmapInfo.OnlineBeatmapID` to `OnlineID` to match interface 2021-11-12 17:46:24 +09:00
Dean Herbert adf81d7fcd Add pathway to correctly handle stream-based imports which are not zip archives 2021-11-12 16:42:07 +09:00
Dean Herbert ad8a710a69 Fix failed imports being incorrectly considered as successfully importing for notification purposes 2021-11-12 16:10:46 +09:00