Dean Herbert
744a5b33f5
Rewrite SkinSection
to use realm subscriptions and databased defaults
2021-11-29 18:28:25 +09:00
Dean Herbert
6b55de2845
Use ILive
for Skin.SkinInfo
2021-11-29 18:28:25 +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
23146d59d1
Use ILive
for current skin
2021-11-29 18:28:25 +09:00
Dean Herbert
2a9c7c00c8
Update tests and file access code
2021-11-29 18:28:25 +09:00
Dean Herbert
3db5646fa8
Create Guid constants for system skins (and store skin choice to configuration as guid)
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
5f067172b4
Add model class for realm skin
2021-11-29 18:28:25 +09:00
Dean Herbert
0a961fd9d8
Replace usages of IHasFiles
with IHasRealmFiles
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
0f1712a272
Merge branch 'realm-importer-remove-pointless-fast-hash' into realm-integration/compiled
2021-11-29 18:28:05 +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
94b10492be
Update legacy SkinManager
to match new interface
2021-11-29 18:20:07 +09:00
Dean Herbert
6aad90674e
Remove computeHashFast
usage in RealmArchiveModelImporter.ComputeHash
2021-11-29 18:13:27 +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
2ee08b5f4c
Fix undelete on existing not committing transaction
2021-11-29 14:48:31 +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
3bd4872520
Add note about indexing support for RealmNamedFileUsage.Filename
2021-11-29 14:12:22 +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
0d147b4ad9
Return null IPC response for archive imports
2021-11-28 22:59:53 +09:00
Dan Balasescu
e5dcfc3113
Use console IPC
2021-11-28 14:03:21 +09:00
Dean Herbert
51a7c60eec
Merge pull request #15835 from bdach/off-thread-transforms-unbind
...
Fix instances of components adding off-thread transforms on unbind
2021-11-28 09:27:43 +09:00
Bartłomiej Dach
db49d99cc0
Ensure correct disabled ruleset callback scheduling in ruleset selector
2021-11-27 15:28:23 +01:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons
2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace
2021-11-27 15:06:57 +01:00
Bartłomiej Dach
251ab183a0
Move beatmap play button nearer its only remaining usage
2021-11-27 15:04:05 +01:00
Bartłomiej Dach
7419682334
Move icon pill to beatmap card-specific namespace
2021-11-27 15:01:48 +01:00
Bartłomiej Dach
6773877a40
Remove no-longer-used beatmap panels
2021-11-27 15:00:06 +01:00
Bartłomiej Dach
f4b7db5a7b
Ensure correct disabled beatmap callback scheduling in now playing overlay
2021-11-27 14:36:34 +01:00
Dean Herbert
0a75067ee5
Update framework
2021-11-27 12:13:39 +09:00
Dean Herbert
d570054b8c
Merge pull request #15801 from smoogipoo/playlist-item-add-owner
...
Add owner avatar to multiplayer playlist items
2021-11-27 00:30:35 +09:00
Dan Balasescu
2cc06a6ae1
Merge pull request #15820 from peppy/fix-track-owner-log
...
Fix incorrect logging of preview tracks without track owner
2021-11-27 00:25:54 +09:00
Dean Herbert
b8a47755fa
Don't show loading tooltip for now
...
Should probably be replaced with a loading spinner in the future, don't
really like "loading" tooltips.
2021-11-26 22:54:11 +09:00
Dean Herbert
d5d1a4c0b5
Merge branch 'master' into playlist-item-add-owner
2021-11-26 22:43:08 +09:00
Dean Herbert
f16ef1ee69
Reapply schedule workaround for PreviewTrack
2021-11-26 22:34:05 +09:00
Dean Herbert
7f9cc4d5ff
Fix incorrect logging of preview tracks without track owner
2021-11-26 21:37:43 +09:00
Dean Herbert
89b4e5cffb
Rename mass deletion confirmation dialog
2021-11-26 18:18:45 +09:00
Dan Balasescu
e1445dcb05
Only show owner in match subscreen
2021-11-26 17:40:45 +09:00
Dan Balasescu
e9a19aacd7
Fix tests by requiring host
2021-11-26 17:23:50 +09:00
Dan Balasescu
8be2defd09
Right-align avatar
2021-11-26 17:17:06 +09:00
Dan Balasescu
8541db1e85
Merge branch 'master' into playlist-item-add-owner
2021-11-26 17:13:23 +09:00
Dan Balasescu
c7f905f8da
Merge pull request #15813 from peppy/beatmap-card/download-spinner
...
Show a spinner instead of the download button on the new card during beatmap download
2021-11-26 16:35:58 +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
bf443a5a7a
Switch unnecessary return
to break
instead
2021-11-26 15:36:16 +09:00
Dean Herbert
5de2f6211d
Show a spinner instead of the download button on the new card during beatmap download
2021-11-26 15:32:33 +09:00
Dean Herbert
8e16ff7f72
Merge pull request #15807 from bdach/beatmap-card/integration
...
Replace existing usages of beatmap panel with new beatmap card
2021-11-26 15:31:55 +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
1d96542a2a
Fix incorrect ConfigureAwait
specification causing stalled test
...
This only occurs on upcoming changes I have (occurred when switching
existing skin import tests across to realm). Unsure why it was set to
`true`, seems like a weird oversight.
2021-11-26 12:47:43 +09:00
Bartłomiej Dach
a188d6662f
Use beatmap card in solo spectator screen
2021-11-25 22:31:02 +01:00
Bartłomiej Dach
ec2265d5bb
Use beatmap cards in spotlights layout
2021-11-25 22:30:47 +01:00
Bartłomiej Dach
42b09fd1ec
Use beatmap cards in user profile overlay
2021-11-25 22:30:47 +01:00
Bartłomiej Dach
0f9ebe3d5d
Use beatmap cards in beatmap listing overlay
2021-11-25 22:30:46 +01:00
Bartłomiej Dach
84a36ab4a9
Add integration with beatmap set overlay
2021-11-25 22:30:46 +01:00
Dan Balasescu
1f5d95666e
Add owner avatar to multiplayer items
2021-11-25 23:15:29 +09:00
Dean Herbert
7a3c69544b
Merge pull request #15799 from smoogipoo/fix-songselect-test-failures-2
...
Fix SongSelect-related test failures
2021-11-25 23:01:06 +09:00
Dan Balasescu
7c91cd674e
Update test classes to set owner ids
2021-11-25 22:17:18 +09:00
Dan Balasescu
8a941fa422
Add owner id to PlaylistItem
2021-11-25 21:41:03 +09:00
Dan Balasescu
09dd054283
Fix SongSelect-related test failures
2021-11-25 21:11:13 +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
Dan Balasescu
d7a960212f
Merge pull request #15794 from peppy/realm-integration/stable-export-flow
...
Split out legacy model export logic into `LegacyModelExporter` classes
2021-11-25 20:20:18 +09:00
Dan Balasescu
8baf00c023
Remove unused using
2021-11-25 19:36:06 +09:00
Dan Balasescu
2b85738384
Merge pull request #15797 from peppy/remove-pointless-i-beatmap-model-manager
...
Remove pointless interface class for `IBeatmapModelManager`
2021-11-25 19:07:19 +09:00
Dan Balasescu
d3a4890c31
Merge branch 'master' into realm-integration/stable-export-flow
2021-11-25 19:06:18 +09:00
Dean Herbert
e2ebcf7a26
Remove unnecessary manager parameter
...
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
a6ee0eec0d
Remove pointless interface class for IBeatmapModelManager
...
Was originally going to be used but serves no purpose any more.
2021-11-25 18:15:10 +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
Dean Herbert
79459c1aeb
Fix typo in class and variable names
2021-11-25 17:12:15 +09:00
Dean Herbert
ec9a09d5a4
Add missing licence headers
2021-11-25 16:56:19 +09:00
Dean Herbert
cc1b91e4bd
Split out legacy model export logic into LegacyModelExporter
classes
2021-11-25 16:41:12 +09:00
Dean Herbert
7488ccd5fe
Update all models to implement IHasNamedFiles
2021-11-25 16:41:12 +09:00
Dan Balasescu
6d60725b31
Merge branch 'master' into realm-integration/stable-import-flow
2021-11-25 16:36:02 +09:00
Dean Herbert
416ee2447a
Move archive filename helper method to extension method
2021-11-25 16:35:54 +09:00
Dan Balasescu
d8a23aad4d
Merge pull request #15791 from peppy/realm-integration/skin-model-manager
...
Split out `SkinModelManager` from `SkinManager`
2021-11-25 16:35:05 +09:00
Dean Herbert
a0fa030f55
Rename base class to LegacyModelImporter
2021-11-25 16:33:04 +09:00
Dean Herbert
210dfab392
Merge pull request #15790 from peppy/realm-integration/score-manager-interface-reduction
...
Reduce interface exposure of `ScoreManager`
2021-11-25 15:46:38 +09:00
Dean Herbert
2df793ca22
Inline individual importers to avoid unnecessary construction for singular import types
2021-11-25 15:44:04 +09:00
Dean Herbert
9dcb20a821
Rename Stable
to Legacy
and add xmldoc
2021-11-25 15:39:05 +09:00
Dean Herbert
6cab7b877d
Move stable import handling into its own class
2021-11-25 15:36:58 +09:00
Dean Herbert
2bfc473689
Split out SkinModelManager
from SkinManager
2021-11-25 15:14:43 +09:00
Dean Herbert
60b207f20a
Reduce interface exposure of ScoreManager
2021-11-25 14:34:13 +09:00
Dean Herbert
bcdb73e1e8
Clean up files last
2021-11-25 14:28:27 +09:00
Dean Herbert
315e126497
Add automatic clean-up call for RealmFileStore
2021-11-25 14:17:44 +09:00
Dean Herbert
204bd2b604
Ensure Cleanup
can run from non-update thread and add basic log output
2021-11-25 14:17:44 +09:00
Dean Herbert
fd321109da
Remove unnecessary virtual
specification on Refresh
2021-11-25 14:06:12 +09:00
Dean Herbert
306e13fa7b
Remove all usages of FileStore.QueryFiles
2021-11-25 14:06:02 +09:00
Dean Herbert
1533e245de
Merge pull request #15767 from bdach/beatmap-card/track-preview
...
Add preview track playback function to beatmap card
2021-11-25 12:08:03 +09:00
Bartłomiej Dach
20f71da2c4
Merge branch 'master' into fix-mp-resuming
2021-11-24 20:17:58 +01:00
Dan Balasescu
1865227e08
Merge pull request #15773 from peppy/remove-model-file-list-inits
...
Initialise `IHasFiles<TFile>.Files` lists at construction time
2021-11-24 21:05:36 +09:00
Dan Balasescu
016684b52d
Remove unreachable code
2021-11-24 20:29:47 +09:00
Dan Balasescu
132bb59203
Update working beatmap when returning to match
2021-11-24 19:56:02 +09:00
Dan Balasescu
ce8500a732
Merge branch 'master' into remove-model-file-list-inits
2021-11-24 19:46:42 +09:00
Dean Herbert
b739b6a725
Merge branch 'master' into beatmap-card/track-preview
2021-11-24 18:54:25 +09:00
Dean Herbert
61009013cc
Give a more correct default value to beatmap and set statuses
2021-11-24 18:48:12 +09:00
Dean Herbert
052ed8f930
Add online status to RealmBeatmapSet
2021-11-24 18:48:02 +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
ddbd4f9473
Merge branch 'master' into remove-model-file-list-inits
2021-11-24 18:39:01 +09:00
Dan Balasescu
5ff62a8e04
Merge pull request #15779 from peppy/remaining-misc-fixes
...
Apply some various code quality fixes that don't fit elsewhere
2021-11-24 16:59:49 +09:00
Dan Balasescu
74b6c33fab
Merge pull request #15778 from peppy/ruleset-info-id-usage
...
Update usages of `RulesetInfo.ID` to use `OnlineID` instead
2021-11-24 16:55:28 +09:00
Dan Balasescu
834bdd8e5c
Merge pull request #15776 from peppy/non-null-beatmapset-metadata
...
Make `BeatmapSet.Metadata` non-null
2021-11-24 16:48:28 +09:00
Dan Balasescu
8ce5324c8b
Merge pull request #15772 from peppy/remove-model-list-inits
...
Initialise `BeatmapSet.Beatmaps` list at construction time
2021-11-24 16:41:19 +09:00
Dean Herbert
2dabedebff
Remove unnecessary user assign in HitObjectSampleTest
2021-11-24 16:30:00 +09:00
Dean Herbert
3e0e01abdb
Move bookmark parsing logic into LegacyBeatmapDecoder
2021-11-24 16:29:51 +09:00
Dean Herbert
9c61ec217b
Remove unnecessary mainTrackMixer
parameter from BeatmapManager
2021-11-24 16:27:17 +09:00
Dan Balasescu
2ec3fb2e9e
Merge pull request #15760 from peppy/realm-move-data-migration-to-context-factory
...
Move realm data migrations inside the `RealmContextFactory`
2021-11-24 16:23:56 +09:00
Dean Herbert
bbd3ea5b77
Update all actual usages of RulesetInfo.ID
to use OnlineID
instead
2021-11-24 15:50:26 +09:00
Dean Herbert
f283770f34
Update mock RulesetInfo
usage to set OnlineID
instead of ID
2021-11-24 15:50:26 +09:00
Dean Herbert
e57c343531
Add helper setter to EF RulesetInfo.OnlineID
to allow updating usages
2021-11-24 15:50:26 +09:00
Dan Balasescu
33d95fbb9c
Merge pull request #15771 from peppy/ruleset-config-cache-shortname
...
Update `RulesetConfigCache` to cache via `ShortName` instead of `ID`
2021-11-24 15:24:57 +09:00
Dan Balasescu
73e50af9cc
Merge pull request #15775 from peppy/update-framework
...
Update framework
2021-11-24 15:24:43 +09:00
Dean Herbert
cb093e1e01
Remove reundant self-sets of metadata
2021-11-24 15:08:04 +09:00
Dean Herbert
3946a39b65
Make BeatmapSet.Metadata
non-null
2021-11-24 15:03:34 +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
a7853fc9cc
Fix cases of known-non-null
2021-11-24 14:26:25 +09:00
Dean Herbert
ec89dfa043
Update framework
2021-11-24 14:09:25 +09:00
Dean Herbert
0aedbbe165
Fix incorrect fallback logic causing test failure
2021-11-24 14:04:55 +09:00
Dean Herbert
c2f8d9f677
Update tests which set Files
lists directly
2021-11-24 14:00:14 +09:00
Dean Herbert
99a139dc98
Initialise all file lists at construction time (and remove setter)
2021-11-24 13:56:21 +09:00
Dan Balasescu
5a0a95f9d4
Trim whitespace
2021-11-24 13:48:59 +09:00
Dan Balasescu
84268c3d85
Merge branch 'master' into realm-ruleset-keybinding-short-name
2021-11-24 13:48:48 +09:00
Dan Balasescu
6183d1cd46
Merge pull request #15769 from peppy/model-equality-consistency
...
Update cases where equality can be used instead of primary key equality
2021-11-24 13:45:57 +09:00
Dan Balasescu
6ffba8a546
Merge pull request #15768 from peppy/standardise-ruleset-create-instance
...
Remove nullability of `Ruleset.CreateInstance`
2021-11-24 13:43:23 +09:00
Dean Herbert
a3fdab34d5
Avoid json serialisation of aggregate helper properties
...
Also avoids `throw`ing when there are no beatmaps available. Until now
this wasn't an issue due to the `Beatmaps` list being null instead of empty.
2021-11-24 13:36:34 +09:00
Dean Herbert
8c60f37508
Fix cases of dynamically assigning Beatmap
s to BeatmapSetInfo
using list assignment
2021-11-24 13:27:37 +09:00
Dean Herbert
49c2cb9125
Initialise BeatmapSet.Beatmaps
list to line up with realm expectations
2021-11-24 13:25:55 +09:00
Dean Herbert
ee22c24370
Update RulesetConfigCache
to cache via ShortName
instead of ID
2021-11-24 13:10:18 +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
6aed41eacc
Merge branch 'master' into realm-move-data-migration-to-context-factory
2021-11-24 12:38:44 +09:00
Dean Herbert
63b09b356f
Rewrite commments to read better
2021-11-24 12:37:09 +09:00
Dean Herbert
6cd1bfd94f
Remove outdated comment
2021-11-24 12:35:05 +09:00
Dean Herbert
0eea026afb
Remove null checks on CreateInstance()
calls
2021-11-24 12:23:09 +09:00
Dean Herbert
8d69ebd7db
Remove nullability of Ruleset.CreateInstance
2021-11-24 12:23:06 +09:00
Dean Herbert
049f25a133
Merge pull request #15757 from smoogipoo/fix-multiplayer-tests
...
Fix several intermittent multiplayer test failures
2021-11-24 09:32:01 +09:00
Bartłomiej Dach
1a1603f0db
Implement preview track playback
2021-11-23 23:17:30 +01:00
Bartłomiej Dach
9164f006aa
Implement basic behaviour of play button
2021-11-23 22:44:09 +01:00
Bartłomiej Dach
5d13686cdf
Add play button for card preview
2021-11-23 22:44:08 +01:00
Bartłomiej Dach
4011da033b
Split off thumbnail to separate component
2021-11-23 22:44:07 +01:00
Bartłomiej Dach
0d409fa33e
Merge branch 'master' into realm-ruleset-keybinding-short-name
2021-11-23 20:18:58 +01:00
Bartłomiej Dach
fa96b29d6b
Merge branch 'master' into realm-ruleset-setting-short-name
2021-11-23 19:44:41 +01:00
Dean Herbert
6b134359c9
Handle the case where the ruleset isn't found in the EF database any more
2021-11-23 19:15:52 +09:00
Dean Herbert
4149d458f0
Move realm data migrations inside the RealmContextFactory
2021-11-23 18:14:15 +09:00
Dean Herbert
d9917ee6c7
Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name
2021-11-23 18:13:26 +09:00
Dean Herbert
40cd998f99
Fix incorrect disposal
2021-11-23 18:13:05 +09:00
Dan Balasescu
79a8e60468
Resolve inspection
2021-11-23 17:55:04 +09:00
Dean Herbert
782191c410
Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name
2021-11-23 17:48:48 +09:00
Dean Herbert
b1b6723826
Add xmldoc and verbatim string markers
2021-11-23 17:47:43 +09:00
Dean Herbert
505fede44d
Pass the full EF context rather than a legacy RulesetStore
2021-11-23 17:40:20 +09:00
Dan Balasescu
fd4d5e98a7
Merge pull request #15745 from bdach/settings-number-box-stack-overflow
...
Fix crashes on trying to play back replays of seeded mods with seed value over 1 billion
2021-11-23 16:36:05 +09:00
Dan Balasescu
b7510697c8
Merge pull request #15753 from peppy/osu-test-scene-isolation-clean-up
...
Restructure how the headless storage is used / documented to hopefully make more sense
2021-11-23 16:29:39 +09:00
Dan Balasescu
6363833fb3
Revert unnecessary changes
2021-11-23 16:17:09 +09:00
Dan Balasescu
1f13669636
Don't poll while in room
...
Fixes timeout in `TestJoinRoomWithoutPassword`, because the 'server' returns
out-of-date data while the `MatchSubScreen` has possible not been entered
yet (and thus hasn't disabled polling itself yet).
Can be tested by adding a `Task.Delay(3000);` at the end of
the `MultiplayerClient.JoinRoom()` task.
2021-11-23 16:14:01 +09:00
Dan Balasescu
69a9fc9732
Fix a few more multiplayer test timeouts
...
These can be tested by adding a `Task.Delay(3000);` at the end of the
`MultiplayerClient.JoinRoom` task. The reason is typically that
`Client.Room` becomes not-null but the join task still hasn't completed
yet, so e.g. the ready button is still disabled.
2021-11-23 16:07:03 +09:00
Dan Balasescu
7906ae2b1d
Update room immediately on join
2021-11-23 16:03:37 +09:00
Dean Herbert
6fb2757739
Remove usage of Nuget.Packaging
extension methods for IList.AddRange
2021-11-23 15:02:02 +09:00
Dean Herbert
0989d6a92e
Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name
2021-11-23 14:55:40 +09:00
Dean Herbert
f264b128c2
Merge branch 'master' into realm-ruleset-setting-short-name
2021-11-23 14:55:36 +09:00
Dean Herbert
473f6b0347
Add more xmldoc
2021-11-23 14:17:24 +09:00
Dean Herbert
55f7d120e6
Rename and reorder fields in OsuTestScene
2021-11-23 14:13:14 +09:00
Dean Herbert
5631e75f16
Restructure how the headless storage is used / documented to hopefully make more sense
2021-11-23 14:11:27 +09:00
Dean Herbert
49e2a8afa3
Don't directly reset the database when running tests
...
The containing storage is destroyed anyway, so this is redundant.
2021-11-23 14:08:04 +09:00
Dean Herbert
feb983d5bd
Rename Debug
namespace to avoid collisions
2021-11-23 13:09:41 +09:00
Dean Herbert
53d6b3c402
Merge branch 'realm-ruleset-setting-short-name' into realm-ruleset-keybinding-short-name
2021-11-23 11:49:13 +09:00
Dean Herbert
1f321e2910
Run EF migrations earlier to ensure it is complete before usage
2021-11-23 11:48:58 +09:00
Dean Herbert
119ac19f86
Merge branch 'master' into realm-beatmap-file-relation
2021-11-23 10:20:22 +09:00
Dean Herbert
e580fc5abc
Merge pull request #15735 from peppy/remove-ruleset-info-inheritance
...
Remove subclassing of `RulesetInfo`
2021-11-23 10:18:32 +09:00
Bartłomiej Dach
1ec5dd2cdf
Merge branch 'master' into realm-beatmap-file-relation
2021-11-22 21:53:08 +01:00
Bartłomiej Dach
4a9f080f3c
Accept full range of int
in SettingsNumberBox
...
This fixes stack overflow exceptions that would arise when a
`Current.Value` of 1 billion or more was set on a `SettingsNumberBox`.
The stack overflow was caused by the "maximum 9 digits" spec. If a value
technically within `int` bounds, but larger than 1 billion (in the range
[1,000,000,000; 2,147,483,647], to be more precise), a feedback loop
between the setting control's `Current` and its inner text box's
`Current` would occur, wherein the last digit would be trimmed and then
re-appended again forevermore.
To resolve, remove the offending spec and rely on `int.TryParse`
entirely to be able to discern overflow range. Additionally, UX of the
text box is slightly changed to notify when the `int` range is exceeded
with a red flash.
This behaviour would not have been possible to implement without recent
framework-side fixes to text box (removal of text set scheduling).
2021-11-22 20:49:14 +01:00
Dan Balasescu
fba9e360a1
Merge branch 'master' into ruleset-use-short-name
2021-11-22 23:56:34 +09:00
Dan Balasescu
7ce5cb6162
Merge pull request #15739 from peppy/realm-migration-ordering
...
Fix realm applying migrations from one version too early
2021-11-22 23:52:50 +09:00
Dean Herbert
6c36770eb3
Add back allowance for tests scenes using empty ShortName
2021-11-22 21:41:09 +09:00
Dean Herbert
d94b27a8a2
Switch realm ruleset key bindings to use ruleset's ShortName
as key
2021-11-22 18:52:30 +09:00
Dean Herbert
329bae50b0
Switch realm ruleset configuration to use ruleset's ShortName
as key
2021-11-22 18:52:00 +09:00
Dean Herbert
ca26b6c540
Provide RealmContextFactory
with the EF RulesetStore
for migration purposes
2021-11-22 18:51:44 +09:00
Dean Herbert
d2062ff97f
Reformat realm migrations list for legibility
2021-11-22 18:47:18 +09:00
Dean Herbert
361cb78880
Fix realm applying migrations from one version too early
2021-11-22 18:46:46 +09:00
Dean Herbert
f1926c6d27
Store preferred ruleset to configuration using ShortName
instead of ID
2021-11-22 17:45:31 +09:00
Dean Herbert
377ba2673a
Use Ruleset
's ShortName
for mod caching purposes
2021-11-22 16:52:54 +09:00
Dean Herbert
a8bc1ab052
Attempt to fix fody issues by ignoring new property
2021-11-22 16:45:55 +09:00
Dean Herbert
cb5b6911e6
Seal RulesetInfo
and remove virtual
methods
2021-11-22 16:39:26 +09:00
Dean Herbert
b9923e5396
Remove subclassing of RulesetInfo
2021-11-22 16:39:17 +09:00
Dan Balasescu
0633f3bcfe
Add owner id to playlist items
2021-11-22 16:35:58 +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
ff13a98077
Reformat realm migrations list for legibility
2021-11-22 15:23:16 +09:00
Dan Balasescu
f64d20ed71
Fix APIRoom queue mode not updated on change
2021-11-22 13:46:01 +09:00
Dean Herbert
bbb3abbc61
Merge branch 'master' into multi-queueing-modes
2021-11-22 12:32:47 +09:00
Dan Balasescu
f3ba62d2c2
Add xmldoc to serverSidePlaylist
2021-11-22 11:26:41 +09:00
Dan Balasescu
10dc08a855
Store server-side playlist instead of mutating client-side version
2021-11-22 11:18:21 +09:00
Dan Balasescu
6420971660
Adjust test client with new queue-changing logic
2021-11-22 11:10:10 +09:00
Dan Balasescu
4b498c7bd6
Merge branch 'master' into multi-queueing-modes
2021-11-22 07:46:45 +09:00
Bartłomiej Dach
975744d26c
Remove no longer used [Cached]
attribute
2021-11-21 13:19:16 +01:00
Dean Herbert
c0962b1c4f
Merge branch 'master' into beatmap-card/download-button
2021-11-21 20:04:26 +09:00
Bartłomiej Dach
aaf3f3854e
Merge branch 'master' into fix-working-beatmap-wrong-exception-type
2021-11-21 11:32:29 +01:00
Bartłomiej Dach
bb8e8bc4f0
Use consistent type for mod collection in all overloads
2021-11-21 11:30:45 +01:00
Dean Herbert
8c72f4843d
Merge pull request #15684 from frenzibyte/fix-ios-online
...
Fix MessagePack workaround formatter potentially initializing on iOS
2021-11-21 16:02:08 +09:00
Dean Herbert
63642450a4
Merge branch 'master' into fix-working-beatmap-wrong-exception-type
2021-11-21 15:50:07 +09:00
Dan Balasescu
49de22ebba
Merge pull request #15711 from peppy/fix-skill-memory-leak
...
Stop persisting `Skill`s in `DifficultyAttributes`
2021-11-21 15:47:49 +09:00
Dan Balasescu
a06b361fe2
Merge pull request #15705 from bdach/fix-difficulty-cache-caching-zeroes
...
Fix zero star difficulty values being cached when diffcalc was interrupted
2021-11-21 15:45:29 +09:00
Salman Ahmed
af01b0ed48
BASE_DERIVED
-> BASE_TYPE_MAPPING
2021-11-21 06:30:14 +03:00
Dean Herbert
fd3e5d333e
Add xmldoc note about Skill
potentially being memory expensive
2021-11-21 12:15:32 +09:00
Dean Herbert
9f688f6291
Stop persisting Skill
s in DifficultyAttributes
2021-11-21 12:15:32 +09:00
Salman Ahmed
915bde6f96
Remove unnecessary MatchServerEvent
mapping
2021-11-21 06:09:45 +03:00
Bartłomiej Dach
65cb011bac
Merge branch 'master' into beatmap-card/download-button
2021-11-20 18:49:11 +01:00
Bartłomiej Dach
297de27a6a
Use BindTarget
from card rather than caching & resolving download tracker
2021-11-20 18:48:26 +01:00
Bartłomiej Dach
b3606f4a21
Rename {Play -> GoToBeatmap}Button
2021-11-20 18:36:39 +01:00
Bartłomiej Dach
78ee213573
Merge branch 'master' into storage-path-extension-method
2021-11-20 18:21:46 +01:00
Bartłomiej Dach
a7e45a9098
Log all non-cancellation errors in difficulty cache
2021-11-20 17:32:40 +01:00
Bartłomiej Dach
6100bf66a6
Clean up cancellation handling in WorkingBeatmap
...
After the recent changes introducing cancellation support to
`WorkingBeatmap`, it turned out that if the cancellation support was
used, `GetPlayableBeatmap()` would raise timeout exceptions rather than
the expected `OperationCanceledException`.
To that end, split off a separate overload for the typical usage, that
catches `OperationCanceledException` and converts them to beatmap load
timeout exceptions, and use normal `OperationCanceledException`s in the
overload that requires a cancellation token to work.
2021-11-20 17:23:55 +01:00
Bartłomiej Dach
15feb17da8
Change difficulty cache storage type to nullable
...
The recent changes related to adding support for working beatmap load
cancellation exposed a flaw in the beatmap difficulty cache. With the
way the difficulty computation logic was written, any error in the
calculation process (including beatmap load timeout, or cancellation)
would result in a 0.00 star rating being permanently cached in memory
for the given beatmap.
To resolve, change the difficulty cache's return type to nullable.
In failure scenarios, `null` is returned, rather than
`default(StarDifficulty)` as done previously.
2021-11-20 17:00:50 +01:00
Salman Ahmed
8b28bf31f6
Separate SignalR workaround types away from resolver
2021-11-20 15:11:02 +03:00
Dean Herbert
e0629ba81c
Update all dependencies
2021-11-20 13:31:10 +09:00
Salman Ahmed
0342923408
Fix SignalR messagepack formatter potentially initializing on iOS
2021-11-19 20:04:31 +03:00
Dean Herbert
83b4625bd5
Replace existing cases with new helper method
2021-11-19 22:15:41 +09:00
Dean Herbert
eecf6ad558
Add IsManaged
helper method to EF classes to match realm implementation
2021-11-19 21:56:06 +09:00
Dan Balasescu
d397524878
Merge pull request #15676 from peppy/multiplayer-incorrect-beatmap-error
...
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 18:59:46 +09:00
Dan Balasescu
de0e8ad822
Merge branch 'master' into multi-queueing-modes
2021-11-19 18:58:15 +09:00
Dan Balasescu
4c8c34b43f
Use full name for round robin
2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2
Update queue mode names
2021-11-19 18:28:43 +09:00
Dan Balasescu
f3f8ac2c43
Use single
2021-11-19 16:36:32 +09:00
Dan Balasescu
abb8b0de47
Also mutate multiplayer room playlist on callbacks
2021-11-19 16:35:45 +09:00
Dean Herbert
59e763467f
Move StoragePath
implementation to an extension method
2021-11-19 16:08:38 +09:00
Dan Balasescu
12e1142b07
Rename settings section
2021-11-19 15:47:40 +09:00
Dan Balasescu
a922ce2fd9
Remove unnecessary nameofs
2021-11-19 15:45:45 +09:00
Dean Herbert
6e5918a100
Add slight scale to icon buttons
2021-11-19 15:28:03 +09:00
Dean Herbert
741c27c1f2
Always populate action to make button behave better in testing scenarios
2021-11-19 15:27:38 +09:00
Dean Herbert
5034cb1025
Merge branch 'master' into beatmap-card/download-button
2021-11-19 14:59:42 +09:00
Dean Herbert
0c289bf8e5
Remove pointless namespace
2021-11-19 14:46:53 +09:00
Dean Herbert
284e554cbf
Only show user displayable portion of server errors when seleting a song in multiplayer
2021-11-19 13:58:03 +09:00
Dean Herbert
c901a4fd7e
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 13:28:42 +09:00
Dean Herbert
77c0b8dfa9
Fix stray typo
2021-11-19 13:27:06 +09:00
Dean Herbert
cb2547a6be
Merge branch 'master' into multi-queueing-modes
2021-11-19 13:20:57 +09:00
Dan Balasescu
6ebe54b183
Merge pull request #15494 from Tollii/beatmap-cancellation-token
...
Add support for cancellation tokens for beatmap difficulty calculation
2021-11-19 10:54:32 +09:00
Bartłomiej Dach
0eaf450204
Make field readonly
2021-11-18 22:50:41 +01:00
Bartłomiej Dach
8a1d6757af
Merge branch 'master' into beatmap-card/download-button
2021-11-18 22:37:35 +01:00
Bartłomiej Dach
412abf30d9
Refactor buttons again to work with latest design guidelines
2021-11-18 22:34:40 +01:00
Bartłomiej Dach
761d1e45f2
Use lime background on right side of card to signify downloaded sets
2021-11-18 21:36:41 +01:00
Dean Herbert
bf8507c7b9
Only apply default timeout when debugger not attached
2021-11-18 23:26:45 +09:00
Joseph Madamba
a09589f833
Fix score panels sometimes jumping when toggling statistics fast
2021-11-17 23:15:51 -08:00
Dan Balasescu
698b6c4242
Merge pull request #15668 from peppy/key-repeat
...
Update `KeyBindingContainer` usage to block key repeat where applicable
2021-11-18 15:21:35 +09:00
Dan Balasescu
1dacc50ecb
Merge branch 'master' into multi-queueing-modes
2021-11-18 15:16:27 +09:00
Dean Herbert
9ec6ecd3f6
Update framework
2021-11-18 13:39:25 +09:00
Dean Herbert
1fdf0e9770
Merge branch 'master' into supporter-icon-link
2021-11-18 13:36:14 +09:00
Dean Herbert
db4e4c982c
Add hover effect to supporter button
2021-11-18 13:35:42 +09:00
Dean Herbert
cdb2a92f86
Disable key repeat for all ruleset handling cases
2021-11-18 13:13:36 +09:00
Dean Herbert
66c307e0ee
Remove usage of key repeat helper method
2021-11-18 13:13:36 +09:00
Dean Herbert
7599efac30
Update editor cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Dean Herbert
3de8125eac
Update UI cases where repeat should not be handled
2021-11-18 13:13:36 +09:00
Dean Herbert
5fb5e0035c
Merge pull request #15657 from smoogipoo/expose-calculate-accuracy
...
Expose LegacyScoreDecoder.PopulateAccuracy()
2021-11-18 11:33:25 +09:00
Joseph Madamba
cd5e379c48
Link osu!supporter icon to its web page
2021-11-17 14:43:34 -08:00
Bartłomiej Dach
1c13b39104
Revert incorrect ordering change
2021-11-17 22:10:46 +01:00
Bartłomiej Dach
8b134914cf
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 21:52:30 +01:00
Dan Balasescu
e4aec3f519
Merge pull request #15648 from peppy/playlist-show-invalid-beatmaps
...
Highlight invalid playlist items during room creation
2021-11-17 22:24:22 +09:00
Dan Balasescu
860546bf63
Merge pull request #15634 from peppy/i-working-beatmap/simple-cases
...
Update all simple cases of switching to `IWorkingBeatmap`
2021-11-17 22:08:27 +09:00
Dean Herbert
214705f1e5
Adjust error message, take 2
2021-11-17 21:11:37 +09:00
Dan Balasescu
5fb5baa4c9
Adjust error message
2021-11-17 21:06:33 +09:00
Dean Herbert
7c2e79f911
Update all simple cases of switching to IWorkingBeatmap
2021-11-17 20:56:57 +09:00
Dean Herbert
fd0cae2bfb
Merge branch 'master' into difficulty-attribute-helpers
2021-11-17 20:49:31 +09:00
Dean Herbert
0a7498014f
Move const
s to top of file
2021-11-17 20:47:52 +09:00
Dan Balasescu
9182eab486
Rename method + xmldoc
2021-11-17 20:45:48 +09:00
Dan Balasescu
815179f713
Use consts for attribute IDs
2021-11-17 20:31:18 +09:00
Dan Balasescu
abb333299b
Document base class
2021-11-17 20:20:54 +09:00
Dan Balasescu
08f129b4c8
Expose LegacyScoreDecoder.CalculateAccuracy()
2021-11-17 20:09:30 +09:00
Dean Herbert
96e983bbad
Disallow playlist item selection at playlist room creation screen
...
Wasn't being used for anything, confusing that it's even possible.
2021-11-17 14:40:07 +09:00
Dan Balasescu
97bc67245d
Fix xmldoc reference
2021-11-17 11:46:06 +09:00
Dan Balasescu
f5b95c9e6d
Add ModUtils helper to instantiate mods from ruleset
2021-11-17 11:30:47 +09:00
Dean Herbert
8e9b55ef6d
Disallow selection of invalid items
2021-11-17 11:28:43 +09:00
Dean Herbert
0715d40ea0
Merge branch 'master' into beatmap-cancellation-token
2021-11-17 11:16:10 +09:00
Dean Herbert
13f3e2eea9
Add back default timeout to GetPlayableBeatmap
2021-11-17 11:06:31 +09:00
Dan Balasescu
0146987eba
Merge pull request #15650 from peppy/fix-stand-alone-chat-textbox-corners
...
Fix `StandAloneChatDisplay`'s `TextBox` having different corner radius
2021-11-16 20:45:08 +09:00
Dan Balasescu
843b0f9641
Merge pull request #15649 from peppy/fix-leaderboard-cancellation-failure
...
Fix song select leaderboard potentially displaying outdated or incorrect content
2021-11-16 19:10:48 +09:00
Dean Herbert
f74afb48fd
Fix StandAloneChatDisplay
's TextBox
having different corner radius
2021-11-16 17:50:57 +09:00
Dan Balasescu
f9e3d9bb92
Merge branch 'master' into i-working-beatmap/difficulty-calculator
2021-11-16 17:46:38 +09:00
Dean Herbert
2dd721f760
Fix incorrect CancellationToken
being used for inner check during leaderboard updates
2021-11-16 17:41:16 +09:00
Dean Herbert
6dd684588a
Merge branch 'master' into playlist-show-invalid-beatmaps
2021-11-16 17:25:33 +09:00
Dean Herbert
2d125893fc
Add tests and disable selection on invalid items
2021-11-16 17:23:52 +09:00
Dan Balasescu
96dddc8a0b
Merge pull request #15627 from peppy/playlist-item-iruleset
...
Update `PlaylistItem` to use `IRulesetInfo`
2021-11-16 17:15:09 +09:00
Dean Herbert
6f82e6351f
Parse osu-web error text to present invalid items to the user in a more approachable format
2021-11-16 17:14:15 +09:00
Dean Herbert
e78c5d0858
Show loadingLayer
before calling CreateRoom
...
This fixes `TestScenePlaylistsMatchSettingsOverlay` incorrectly leaving
the loading layer visible.
2021-11-16 17:14:15 +09:00
Dean Herbert
aa188d5a52
Add ability for playlist items to be marked as invalid
2021-11-16 17:01:24 +09:00
Dan Balasescu
f6ae0ec715
Merge pull request #15642 from peppy/external-update-provider
...
Add update manager which performs no update action
2021-11-16 16:59:33 +09:00
Dean Herbert
49cdcffa30
Simplify schedule logic in DrawableRoomPlaylistItem
2021-11-16 16:58:44 +09:00
Dean Herbert
f5c52755c9
Merge branch 'master' into i-working-beatmap/difficulty-calculator
2021-11-16 16:19:22 +09:00
Dan Balasescu
ddf2fade1a
Merge branch 'master' into playlist-item-iruleset
2021-11-16 16:19:10 +09:00
Dan Balasescu
c8038df509
Fix CI inspections
2021-11-16 16:06:30 +09:00
Dan Balasescu
00f0321f25
Add nullable equality comparers
2021-11-16 15:44:47 +09:00
Dean Herbert
726a0cc091
Merge branch 'master' into beatmap-collection-inteface-types
2021-11-16 15:31:10 +09:00
Dan Balasescu
29d0d5badf
Rename QueueModes -> QueueMode
2021-11-16 14:53:10 +09:00
Dan Balasescu
5c3141d16a
Fix ready button tooltip showing when locally available
2021-11-16 14:48:52 +09:00