1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 02:42:54 +08:00
Commit Graph

883 Commits

Author SHA1 Message Date
Bartłomiej Dach
ca7303a50a
Fix online lookup cache not clearing completed task on early return
The task not being cleared in the early return path would cause
`pendingRequestTask` to become stuck as a completed task, and
`queryValue()` would not recreate it due to the null check there,
therefore stalling all lookups forevermore until a game restart.
2021-12-21 11:13:41 +01:00
Bartłomiej Dach
ee89d8643e
Extract abstract implementation of online lookup cache 2021-12-21 11:12:51 +01:00
Dean Herbert
04cfae9bde Fix "Random Skin" text not showing up correctly 2021-12-18 16:26:15 +09:00
Dean Herbert
a9dbcd92a1 Split out unmanaged implementation of RealmLive into its own class 2021-12-16 15:23:55 +09:00
Dean Herbert
441b7baa93 Provide a realm factory to usages of ToLive/RealmLive 2021-12-14 14:26:34 +09:00
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