Dean Herbert
40aa873190
Rename register methods to better explain their purpose
2022-01-24 14:37:36 +09:00
Dean Herbert
0709a2ac9b
Add test coverage of realm subscription scenarios
2022-01-23 20:28:13 +09:00
Dean Herbert
6a076a684e
Merge branch 'realm-context-use-update-when-feasible' into realm-stable-subscriptions
2022-01-22 13:14:25 +09:00
Dean Herbert
c9db0181d0
Attempt to fix test failures on windows due to context being held open
2022-01-22 12:24:05 +09:00
Dean Herbert
1f157d729d
Update existing subscriptions to new style
...
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dean Herbert
114c9e8c1f
Update all usages of CreateContext
to use either Run
or Write
2022-01-21 17:27:08 +09:00
Dean Herbert
70cc03fe43
Avoid constructor overhead for realm RealmKeyBinding
parameterless constructor
2022-01-20 17:29:07 +09:00
Dean Herbert
1db2135d70
Update tests to match new behaviour
2022-01-19 01:05:47 +09:00
Dean Herbert
f24b2b1be3
Make copying detached changes to realm only exposed for BeatmapSet
...
Also fixes remaining issues with the copy process.
2022-01-12 17:49:11 +09:00
Dean Herbert
a307f7e90e
Add test coverage of updating via copying changes from detached instance
2022-01-12 17:49:11 +09:00
Dean Herbert
c92aff8d2b
Add test of cyclic beatmap/beatmapset references
2022-01-12 17:49:11 +09:00
Dean Herbert
509301d94f
Update detach test to assert correct behaviour
2022-01-12 17:49:11 +09:00
Dean Herbert
8461eaab46
BeatmapSetInfo
detach support
2022-01-12 17:00:16 +09:00
Dean Herbert
31a3161189
Make tests compile again
2022-01-12 17:00:16 +09:00
Dean Herbert
00e3af3366
Update model manager and many related classes to get things compiling again
2022-01-12 17:00:00 +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
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
Dean Herbert
618903c217
Rename realm to become imposter classes
2022-01-12 16:39:36 +09:00
Dean Herbert
031a40af6a
Replace usages of Wait
with WaitSafely
2022-01-04 11:51:41 +09:00
Dean Herbert
4b88e257e5
Update usages of CleanRunHeadlessGameHost
to match new signature
2021-12-24 20:17:34 +09:00
Dean Herbert
441b7baa93
Provide a realm factory to usages of ToLive
/RealmLive
2021-12-14 14:26:34 +09:00
Dean Herbert
be337b4ace
Add failing test coverage of RealmLive
failing post storage migration
2021-12-14 13:53:23 +09:00
Dean Herbert
8e6c7eb030
Use OsuStorage
in realm tests to allow for migration
...
Also changes the realm filename to use `client` to match the ignore
rules in `OsuStorage`. Without doing this, migration will fail in an
indefinite mutex wait when attempting to delete the realm `.note` file.
2021-12-14 13:52:28 +09:00
Dean Herbert
4cac87e933
Add test coverage showing that KeyBindingStore
won't remove excess key bindings
2021-12-13 15:26:32 +09:00
Dean Herbert
dbb08f7d46
Use OnlineID
for set operations
2021-12-10 16:11:48 +09:00
Bartłomiej Dach
16fd7f5a28
Simplify slightly redundant assertions
2021-12-04 14:42:01 +01:00
Dean Herbert
675ecb603f
Add IRulesetStore
to allow for transitional usage in upcoming manager classes
2021-12-03 17:57:40 +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
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
0feec09966
Refactor beatmap importer tests to ensure realm is refreshed when waiting on state
2021-11-30 14:12:49 +09:00
Dean Herbert
6b0999052f
Merge branch 'master' into realm-integration/live-queryable-fix
2021-11-30 12:02:37 +09:00
Dean Herbert
2e31f5a338
Update tests to match new behaviour
2021-11-30 11:55:13 +09:00
Bartłomiej Dach
431ac1d97b
Remove unused using directive
2021-11-29 20:57:55 +01: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
566e10f8cc
Refactor test to be easier to follow
2021-11-29 18:55:23 +09:00
Dean Herbert
bac7966337
Update RealmLiveTests
to use interface type
2021-11-29 18:17:30 +09:00
Dean Herbert
071a8c6709
Add test coverage showing RealmLive
failure after an attach
2021-11-29 17:34:58 +09:00
Dean Herbert
54798eabc9
Add test coverage of potential deeadlock scenario with nested realm context fetching
2021-11-29 16:29:53 +09:00
Dean Herbert
791f7e3801
Update RealmLive
tests in line with modified behaviour
2021-11-29 15:16:16 +09:00
Dean Herbert
d73e81ee63
Add test coverage of non-optimised existing model check
2021-11-29 14:48:28 +09: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
Dean Herbert
183b95cbc2
Rename BeatmapSetOnlineStatus
to BeatmapOnlineStatus
...
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
1cdfa6d9a0
Add helper property to access a realm beatmap's beatmap file
2021-11-22 15:30:11 +09:00
Dean Herbert
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
Dean Herbert
5345018d4c
Add test coverage of failed imports
2021-11-12 16:12:44 +09:00
Susko3
c3069ad002
Change to use ReadableKeyCombinationProvider
...
Changes all usages of `KeyCombination.ReadableString()` to
`ReadableKeyCombinationProvider.GetReadableString()`.
Subscribing to `KeymapChanged` is only required in `KeyButton`.
All other places query `GetReadableString()` every time.
2021-11-08 06:55:26 +01:00
Dean Herbert
86540d1fb6
Update existing usages of Author
as string
to access Username
directly
2021-11-04 18:57:54 +09:00
Dean Herbert
6944151486
Apply batch fixing of built-in types using var
2021-10-27 13:04:41 +09:00
Dean Herbert
b3219bb592
Update usages of OnlineID
2021-10-18 16:16:36 +09:00
Dean Herbert
b2f9f8b8da
Update logic surrounding removal of previous OnlineID
s when running a new import
2021-10-18 15:14:13 +09:00
Dean Herbert
49969ac328
Add beatmap import and file store tests
2021-10-15 17:07:34 +09:00
Dan Balasescu
56758435ee
Merge pull request #15043 from peppy/realm-ruleset-store
...
Add realm `RulesetStore`
2021-10-15 16:49:48 +09:00
Dan Balasescu
a781930135
Merge pull request #15042 from peppy/realm-live
...
Add realm `Live<T>` implementation
2021-10-13 17:01:02 +09:00
Dean Herbert
db5099de3a
Add missing licence header
2021-10-13 15:45:01 +09:00
Dean Herbert
0daa836ecc
Add realm RulesetStore
...
Not yet used in game.
2021-10-11 15:57:33 +09:00
Dean Herbert
81a0fbfc40
Add Live<>
casting test
2021-10-11 15:36:41 +09:00
Dean Herbert
b01d82b3fd
Add RealmLive
implementation
2021-10-11 15:36:41 +09:00
Dean Herbert
03bf88ae81
Add realm FileStore
and test coverage
2021-10-11 15:26:16 +09:00
Dean Herbert
b946011292
Update tests to run inside a GameHost
to allow running on update thread
2021-10-11 15:19:18 +09:00
Dean Herbert
537b29654e
Fix stream being held open causing windows CI failures
2021-10-04 14:30:22 +09:00
Dean Herbert
6ec2223b5c
Catch potential file access exceptions also in async flow
2021-10-02 23:01:44 +09:00
Dean Herbert
b5345235ca
Handle window file access errors
2021-10-01 10:40:55 +09:00
Dean Herbert
9c0abae2b0
Add failing test coverage of realm blocking behaviour
2021-10-01 01:20:06 +09:00
Dean Herbert
9fa901f6aa
Refine RealmContext
implementation API
2021-09-30 23:56:38 +09:00
Dean Herbert
5b13b566b5
Reduce startup overhead during default key binding handling
2021-09-07 15:19:23 +09:00
Dean Herbert
3ec7dc3bb9
Update tests in line with thread safety check
2021-07-04 17:59:39 +09:00
Dean Herbert
3e366b1f15
Ensure the main realm context is closed when the factory is disposed
2021-01-15 14:26:06 +09:00
Dean Herbert
693602513e
Update test to use GetForWrite
2021-01-15 14:22:48 +09:00
Dean Herbert
fcb4a53f37
Rename realm persisted properties to avoid casting necessity
2021-01-13 18:36:37 +09:00
Dean Herbert
9086d75542
Update write usages
2021-01-13 18:36:37 +09:00
Dean Herbert
9d744d629f
Update existing usages to use the main realm context where applicable
2021-01-13 18:36:37 +09:00
Dean Herbert
192e58e0c6
Update all read queries to use direct realm subscriptions/queries
2021-01-13 18:36:37 +09:00
Dean Herbert
765d9cfae1
Use direct access for query pattern
2021-01-12 17:01:40 +09:00
Dean Herbert
9a5410e5d2
Add basic test coverage
2021-01-12 15:21:02 +09:00