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