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