1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-20 00:52:55 +08:00
Commit Graph

878 Commits

Author SHA1 Message Date
Dean Herbert
f7c5a3f506 Use similar method of consuming OnlineID as done in beatmap classes 2021-12-10 18:34:31 +09:00
Dean Herbert
8d9c37a825 Merge branch 'master' into primary-key-consistency 2021-12-08 21:34:38 +09:00
Bartłomiej Dach
4278a320e4
Fix skin setting resetting every launch
The reason this was happening was an unfortunate oversight in the
migration logic. The code that was attempting to parse the skin settings
as `int` was firing regardless of whether a skin migration from EF to
realm had already occurred. If it had occurred, the skin setting would
contain a GUID rather than an integer, and therefore fail to parse, and
therefore implicitly fallback to a EF skin ID of 0 which would be the
default skin.

Fix by not running the setting migrating logic at all when there are no
EF skins to migrate.
2021-12-06 20:12:02 +01:00
Dean Herbert
ae3038ead4 Overwrite existing files if AddFile is called with an existing filename 2021-12-02 17:18:06 +09:00
Dean Herbert
65f0a80c97 Merge branch 'master' into realm-integration/skins-rebase 2021-12-02 13:37:20 +09:00
Bartłomiej Dach
8bef50cbba
Revert "Refactor migration precondition to read better"
Realm cannot translate `.All()` LINQ queries.

This reverts commit 0e0e8c25e8.
2021-12-01 19:39:44 +01:00
Dan Balasescu
685bdd522e Replace 'skin' in comments with 'instance' 2021-12-01 20:17:38 +09:00
Dan Balasescu
c225f8f84c
Merge branch 'master' into realm-subscribe-helper-methods 2021-12-01 20:15:21 +09:00
Dan Balasescu
af704dfe5b
Merge pull request #15878 from peppy/beatmap-lookup-cache
Cache beatmap metadata lookups used by multiplayer
2021-12-01 20:13:21 +09:00
Dean Herbert
bf5a186a2b Add early abort to avoid sending empty lookup requests 2021-12-01 17:47:16 +09:00
Dean Herbert
81f82c24c3 Use new API endpoint to do batch lookups 2021-12-01 17:45:41 +09:00
Dean Herbert
09817ff161 Add missing returns additional documentation to main method call 2021-12-01 15:27:10 +09:00
Dean Herbert
4306420922 Add extension methods to add extra safety to realm subscriptions
Also adjusts the naming and documentation to make it (hopefully) easier
to understand what this method/process implies.
2021-12-01 15:09:53 +09:00
Dean Herbert
0e0e8c25e8 Refactor migration precondition to read better 2021-12-01 12:48:49 +09:00
Dean Herbert
ef3d0ee0db Merge branch 'master' into realm-integration/skins-rebase 2021-11-30 19:59:59 +09:00
Dean Herbert
87883f1fe4 Add BeatmapLookupCache 2021-11-30 19:28:45 +09:00
Dan Balasescu
8fdb9ab4e5
Merge branch 'master' into realm-integration/live-queryable-fix 2021-11-30 18:54:14 +09:00
Dan Balasescu
daa7135381
Merge branch 'master' into realm-nested-context-creation-deadlock-fix 2021-11-30 18:01:00 +09:00
Dean Herbert
e83ada40f9 Merge branch 'realm-nested-context-creation-deadlock-fix' into realm-integration/skins-rebase 2021-11-30 15:56:34 +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
a943089be2 Add support for migration of skins from EF to Realm 2021-11-30 15:17:26 +09:00
Dean Herbert
6bf9327228 Add linking property on SkinFileInfo to allow EF to understand the link post-rename 2021-11-30 15:17:16 +09:00
Dean Herbert
6b0999052f Merge branch 'master' into realm-integration/live-queryable-fix 2021-11-30 12:02:37 +09:00
Dean Herbert
f3f77fa053 Update missed xmldoc/comments 2021-11-30 11:56:53 +09:00
Dean Herbert
35d68d6ab0 Remove all optimisations from RealmLive 2021-11-30 11:47:29 +09:00
Dan Balasescu
823552a5e8
Merge pull request #15856 from peppy/simplify-replace-file
Remove the ability to specify a filename in `ReplaceFile`
2021-11-29 20:49:38 +09:00
Dan Balasescu
8a188b74b1
Merge pull request #15850 from peppy/realm-integration/misc-qol
Apply a couple of realm related documentation/interface changes
2021-11-29 18:58:15 +09:00
Dean Herbert
0bcfb8e199 Fix regression in implementation of fix 2021-11-29 18:52:29 +09:00
Dean Herbert
cd0c811ab1 Add the ability to call ToString on a RealmLive to get the underlying object's implementation 2021-11-29 18:28:25 +09:00
Dean Herbert
5db7cf23d3 Add pending deletion skin cleanup 2021-11-29 18:28:25 +09:00
Dean Herbert
e283379f0e Replace EF SkinInfo with realm implementation 2021-11-29 18:28:25 +09:00
Dean Herbert
348d1d0be9 Don't dispose fetched realm instance when using RealmLive.Value
See https://github.com/realm/realm-dotnet/discussions/2734#discussioncomment-1705038 for reasoning.
2021-11-29 18:28:25 +09:00
Dean Herbert
1dd5e1ca89 Remove RealmLive context re-fetch optimisation for now 2021-11-29 18:28:25 +09:00
Dean Herbert
c411a755c7 Merge branch 'realm-nested-context-creation-deadlock-fix' into realm-integration/compiled 2021-11-29 18:28:07 +09:00
Dean Herbert
29f1ad10ba Merge branch 'realm-integration/misc-qol' into realm-integration/compiled 2021-11-29 18:28:03 +09:00
Dean Herbert
1cfcd33b07 Merge branch 'simplify-replace-file' into realm-integration/compiled 2021-11-29 18:28:02 +09:00
Dean Herbert
23fded4a3a Fix potential oversight in semaphore release logic 2021-11-29 18:26:37 +09:00
Dean Herbert
a7e4e7be3a Remove the ability to specify a filename in ReplaceFile 2021-11-29 18:11:51 +09:00
Dean Herbert
f19cfcc82e Make readonly 2021-11-29 17:38:54 +09:00
Dean Herbert
673481ebc5 Use ThreadLocal to avoid potential threading issues 2021-11-29 17:38:42 +09:00
Dean Herbert
6dcc244e21 Fix RealmLive not working is data is attached to realm post-ToLive call 2021-11-29 17:34:58 +09:00
Dean Herbert
c98451a7bf Fix potential deadlock on nested context creation requests 2021-11-29 16:29:53 +09:00
Dean Herbert
cb8fa80352 Don't dispose fetched realm instance when using RealmLive.Value
See https://github.com/realm/realm-dotnet/discussions/2734#discussioncomment-1705038 for reasoning.
2021-11-29 14:25:43 +09:00
Dean Herbert
e40e5096ea Remove RealmLive context re-fetch optimisation for now 2021-11-29 14:25:43 +09:00
Dean Herbert
21e8ab8357 Return ILive from ToLive calls instead of realm-typed instance 2021-11-29 14:12:22 +09:00
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