Commit Graph

512 Commits

Author SHA1 Message Date
Dean Herbert
975883da5c Move all usages of client.realm filename to a single const 2022-03-30 13:34:48 +09:00
Dean Herbert
b04ca111c6 Allow realm subscriptions to be initiated from a non-update thread 2022-03-24 23:41:07 +09:00
Dan Balasescu
21beb8774d Change to lambda method 2022-03-14 13:54:54 +09:00
Dan Balasescu
4ae6cba080 Expose UseDevelopmentServer as virtual 2022-03-14 13:49:38 +09:00
Dan Balasescu
3a03833912
Merge pull request #16890 from peppy/beatmap-decoder-ruleset-store
Fix `LegacyBeatmapDecoder` not populating correct rulesets
2022-02-25 19:03:43 +09:00
Dean Herbert
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +09:00
Dean Herbert
7a69de0060 Split out realm portion of RulesetStore 2022-02-16 17:13:31 +09:00
Dean Herbert
44f2d8a448 Allow game folder migration to fail gracefully when cleanup cannot completely succeed 2022-02-10 19:30:26 +09:00
Salman Ahmed
5e47ce333c Change SafeAreaOverrideEdges to be get-only and protected 2022-02-04 16:10:49 +03:00
Dean Herbert
915d63f6de Limit safe area bottom override to iOS only 2022-02-04 18:58:29 +09:00
Dean Herbert
8fc4d0c6f5 Add override edge rule to overflow above home indicator on iOS 2022-02-04 18:20:17 +09:00
Dean Herbert
52fdf0349f Add safe area support via ScalingContainer 2022-02-04 16:37:05 +09:00
Bartłomiej Dach
16e0cc6a2b
Remove IIpcHost param from ScoreManager
No longer used since 3e3b9bc963583fa5f6ad3b822ad3e6e3818aa06c.
2022-02-01 21:35:40 +01:00
Dean Herbert
08948f60f3 Move backups to "backups" subfolder to make them easier to find 2022-01-27 14:39:13 +09:00
Dean Herbert
fc58b202b1 Fix crash when trying to migrate collection database that doesn't exist 2022-01-25 15:45:23 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
855ef3fa92 Create backup before any realm contexts are used 2022-01-22 11:52:46 +09:00
Dean Herbert
5be41a189b Expose EF context factory for use in external migration logic 2022-01-21 14:56:28 +09:00
Dean Herbert
5df46d0a54 Remove all calls to Realm.Refresh to fix blocking overhead from subscriptions
Turns out this is not required if realm is aware of a
`SynchronizationContext`. See
https://github.com/realm/realm-dotnet/discussions/2775#discussioncomment-2005412
for further reading.
2022-01-20 20:23:18 +09:00
Dean Herbert
fad66d7682 Backup collections alongside main databases when migrating to realm 2022-01-19 16:31:36 +09:00
Dan Balasescu
8c120c6bfb
Merge pull request #16491 from peppy/realm-integration/safer-migration
Improve safety and logging of realm migration process
2022-01-19 12:23:48 +09:00
Dean Herbert
02baad30d7 Merge branch 'master' into global-bindable-thread-safety 2022-01-18 18:12:00 +09:00
Dean Herbert
8b8940439e Fix starting game with non-default ruleset failing 2022-01-18 16:22:15 +09:00
Dean Herbert
b1a75ce480 Permanently delete client.db after migration completes 2022-01-18 14:17:43 +09:00
Dean Herbert
b9ec860cf2 Ensure global beatmap/ruleset are always mutated from the update thread
This came up while testing the new realm thread, where `MusicController`
would fall over when `OsuTestScene` changes the global beatmap from an
async load thread (causing a cross-thread realm access).

We don't want to have to schedule every usage of these bindables, so
this seems like a good constraint to put in place.
2022-01-18 13:29:24 +09:00
Dean Herbert
ded1d87739 Move RulesetStore construction earlier in process so rulesets are available for EF migration 2022-01-13 18:23:18 +09:00
Dean Herbert
e0c59f4b3c Localise EF context factory usage to migration only 2022-01-12 17:49:11 +09:00
Dean Herbert
47390d7ec3 Update handling of ruleset nullability when handling a game-wide change 2022-01-12 17:49:10 +09:00
Dean Herbert
3ecd535f6e Add back missing IRulesetStore cache 2022-01-12 17:00:16 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
b8cd3cdbbc Various updates to ruleset and primary key usages to move closer to realm support 2022-01-12 16:57:13 +09:00
Dean Herbert
116f35c52a Remove EF FileStore 2022-01-12 16:39:36 +09:00
Dean Herbert
3ecd889fef Replace EF RulesetStore with realm version
Pass full EF context factory to `RealmContextFactory` for migration purposes
2022-01-12 16:39:36 +09:00
Bartłomiej Dach
5cbaa028eb
Use extracted ruleset config cache implementation in DI 2021-12-23 19:02:10 +01:00
Dean Herbert
452fa93444 Merge branch 'master' into realm-integration/skins-rebase 2021-12-06 15:21:02 +09:00
Dean Herbert
e75e209053 Cache and consume IRulesetStore where feasible 2021-12-03 18:16:01 +09:00
Dean Herbert
65f0a80c97 Merge branch 'master' into realm-integration/skins-rebase 2021-12-02 13:37:20 +09:00
Dean Herbert
87883f1fe4 Add BeatmapLookupCache 2021-11-30 19:28:45 +09:00
Dean Herbert
1ff0326f8e Merge branch 'master' into realm-integration/skins-rebase 2021-11-30 15:50:10 +09:00
Dean Herbert
6f66ecd77b Move migrations to own file and add user skin choice config migration 2021-11-30 15:41:18 +09:00
Dean Herbert
6e4cd91b7b Fix update thread realm context never being Refresh()ed 2021-11-30 14:12:36 +09:00
Dean Herbert
384a0664c2 Remove unused migration method 2021-11-30 14:05:44 +09:00
Dean Herbert
29d074bdb8 Implement missing behaviours required for skin file operations via RealmArchiveModelManager 2021-11-29 18:28:25 +09:00
Dean Herbert
eeccf836ec Remove unnecessary GameHost parameter 2021-11-25 17:42:41 +09:00
Dean Herbert
a2ab9f457d Move score download logic out of ScoreManager 2021-11-25 17:33:04 +09:00
Dean Herbert
716543b5b3 Move beatmap download logic out of BeatmapManager 2021-11-25 17:29:41 +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
729f681938 Update cases where equality can be used instead of primary key equality 2021-11-24 12:49:57 +09:00
Dean Herbert
4149d458f0 Move realm data migrations inside the RealmContextFactory 2021-11-23 18:14:15 +09:00
Dean Herbert
505fede44d Pass the full EF context rather than a legacy RulesetStore 2021-11-23 17:40:20 +09:00