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
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
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