Commit Graph

48524 Commits

Author SHA1 Message Date
17f0d7897b Increase lenience of alpha check in TestSceneOsuModNoScope
I believe the [test
failures](https://github.com/ppy/osu/runs/4977283066?check_suite_focus=true)
we're seeing here are due to the implementation of interpolation of the
alpha being frame dependent (in a way that doesn't interact well with
tests). The reason for never hitting the expected value is that the
beatmap ends, causing the cursor to become fully visible again.

It's probably already good-enough for most cases, so let's attempt to
silence these test failures by not checking so precisely for the alpha
value.

We're checking for either 1 or 0 so it's not too important how close it
is to either.
2022-01-28 18:36:00 +09:00
f021a274d2 Merge pull request #16681 from peppy/fix-delete-local-scores
Fix delete local scores via "Clear all scores" button crashing the game
2022-01-28 17:01:31 +09:00
bdc9ca40f2 Merge pull request #16676 from peppy/fix-editor-custom-ruleset
Fix editor crashing on custom rulesets due to `ChangeHandler` not being supported
2022-01-28 16:26:56 +09:00
c7f8528d63 Merge pull request #16673 from peppy/fix-polling-component-thread-safety
Fix occasional non-fatal errors from polling API requests incorrectly getting queued twice
2022-01-28 16:26:47 +09:00
b94984bd2d Merge pull request #16678 from peppy/hold-for-menu-always-fade
Ensure hold for menu button fades out if the cursor is never moved
2022-01-28 15:55:41 +09:00
0d3ac4fd9c Fix delete local scores crashing the game 2022-01-28 15:54:53 +09:00
2453bf5ed0 Add test coverage of the same thing but via "clear all scores" button 2022-01-28 15:54:53 +09:00
778eebc94d Add test coverage of local score import and deletion 2022-01-28 15:50:36 +09:00
cb7ae413fe Ensure test game is always active 2022-01-28 15:50:35 +09:00
0bba8a52c6 Merge pull request #16663 from bdach/beatmap-info-defaults
Change some beatmap info/metadata defaults in a backwards compatible manner
2022-01-28 15:41:20 +09:00
ea716194e9 Merge pull request #16677 from peppy/fix-incorrect-null-null-equality
Fix a couple of cases of incorrect equality checks in the case both values are null
2022-01-28 15:41:09 +09:00
32f9299fe0 Remove unused using 2022-01-28 15:26:29 +09:00
28c8e07e3f Ensure hold for menu button fades out if the cursor is never moved
Closes https://github.com/ppy/osu/discussions/16669.
2022-01-28 14:48:35 +09:00
f32d56e213 Bring HoldForMenuButton tests up-to-date in code quality 2022-01-28 14:48:17 +09:00
b7d8c9bf06 Fix a couple of cases of incorrect equality checks in the case both values are null 2022-01-28 14:29:56 +09:00
b3856c9005 Fix editor crashing on custom rulesets due to ChangeHandler not being supported
As per https://github.com/ppy/osu/discussions/16668, even without proper
saving support some ruleset developers do want to work on the editor.
This brings things back into a workable state.
2022-01-28 14:03:31 +09:00
91be77ad3d Fix null ref in ComposeScreen when ruleset doesn't provide a composer 2022-01-28 14:01:10 +09:00
c953a5d503 Ensure PollingComponent.Poll is always called from the update thread
Not strictly required since all `Poll` implementations are now
threadsafe, but extra safety is never a bad thing?
2022-01-28 13:44:11 +09:00
c44af4853d Add thread safety to PollingComponent.Poll implementations 2022-01-28 13:43:53 +09:00
6674567af1 Use -1 as the default preview time globally in metadata 2022-01-27 21:51:51 +01:00
1b8136e3e0 Change some BeatmapInfo defaults in a backwards compatible manner 2022-01-27 21:49:37 +01:00
7dc3940dee Add test coverage for preserving legacy beatmap info defaults 2022-01-27 21:49:26 +01:00
d1158acb82 Merge pull request #16647 from peppy/song-select-scroll-position-during-delete
Ensure beatmap carousel scroll position is maintained during deletion operations
2022-01-27 21:22:15 +01:00
04d6ca59a3 Merge branch 'master' into song-select-scroll-position-during-delete 2022-01-27 20:46:19 +01:00
6beb0ff2a4 Merge pull request #16657 from peppy/skip-scores-missing-beatmap
Skip scores missing beatmaps during realm migration
2022-01-28 01:33:12 +09:00
8508e0d512 Merge pull request #16659 from bdach/fix-tournament-not-loading
Fix tournament client not loading
2022-01-28 01:32:59 +09:00
9deeaee404 Fix tournament client not loading
Caused by a `LoadComponentsAsync()` call being fired from a worker
thread, which will throw exceptions since the recent addition of safety
checks around that method.
2022-01-27 17:31:12 +01:00
942ea896f1 Skip scores missing beatmaps during realm migration 2022-01-28 01:20:32 +09:00
96f86d035d Merge pull request #16652 from peppy/skip-beatmaps-missing-ruleset 2022-01-27 19:09:28 +03:00
81461be49f Skip beatmap imports where ruleset is not present in realm
Closes #16651.

When a ruleset is not available, the `Find` call would return null. When
a null is passed to the constructor, `BeatmapInfo` would create an "osu"
ruleset, which tries to get stored to realm and fails on duplicate
primary key.

Probably need to add better safeties against this (or change that
constructor...) but this will fix the migration process.

Probably not serious enough to pull the build. This only affects
rulesets like karaoke which have custom beatmaps.
2022-01-28 00:14:20 +09:00
e872877185 Merge pull request #16648 from peppy/fix-song-select-tests
Fix song select tests not waiting for beatmap imports to arrive
2022-01-27 23:00:58 +09:00
99bc679a22 Merge pull request #16641 from peppy/ruleset-ordering-fix
Add more encompassing stable ordering of rulesets
2022-01-27 22:41:07 +09:00
fae4f8bd8e Move nulling of previous songSelect to SetUpSteps instead 2022-01-27 21:59:44 +09:00
2d1a8a9d49 Use a more correct CompareTo implementation for ruleset ordering 2022-01-27 21:58:04 +09:00
33b7bdcf82 Update pointless CompareTo implementation 2022-01-27 21:49:33 +09:00
7af23328a4 Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
d7fd11a16d Merge pull request #16644 from peppy/ruleset-id-fixes
Update all usages of `RulesetID` and `Ruleset.ID` to use `Ruleset.OnlineID`
2022-01-27 21:44:22 +09:00
831fa44433 Fix song select tests not waiting for beatmap imports to arrive
After the change to realm, notification fires could take a frame or two.
We aren't accounting for this.

Fixes test failures like
https://github.com/ppy/osu/runs/4963255990?check_suite_focus=true
2022-01-27 19:35:42 +09:00
df9f969030 Merge pull request #16645 from peppy/fix-button-system-crash
Fix `ButtonSystem` null reference crash due to missing null check in delayed animations
2022-01-27 17:09:46 +09:00
3ae5973ab7 Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
a5d422e82c Merge branch 'master' into ruleset-id-fixes 2022-01-27 17:07:18 +09:00
29a4ec949f Merge pull request #16637 from bdach/editor-changes-not-resetting
Fix changes to beatmap info made in editor persisting after exit without save
2022-01-27 17:02:42 +09:00
f2cecad83b Add failing test coverage showing carousel deletions don't keep scroll position 2022-01-27 16:52:02 +09:00
449e9bcf5c Ensure beatmap carousel scroll position is maintained during deletion operations 2022-01-27 16:52:02 +09:00
0a45aa80cb Remove unnecessary double-schedule in UpdateBeatmapSet 2022-01-27 16:52:02 +09:00
54d18bd7ac Merge pull request #16642 from peppy/ruleset-private-info-set
Make `Ruleset.RulesetInfo` get only
2022-01-27 16:41:52 +09:00
81ba1558de Merge pull request #16643 from peppy/ruleset-silly-ctor
Remove pointless constructor in `RulesetInfo`
2022-01-27 16:41:38 +09:00
b87d1a61a8 Fix ButtonSystem null reference crash due to missing null check in delayed animations
```csharp
[runtime] 2022-01-27 07:36:34 [error]: System.NullReferenceException: Object reference not set to an instance of an object.
[runtime] 2022-01-27 07:36:34 [error]: at osu.Game.Screens.Menu.ButtonSystem.<>c__DisplayClass56_0.<updateLogoState>b__1() in /Users/dean/Projects/osu/osu.Game/Screens/Menu/ButtonSystem.cs:line 357
[runtime] 2022-01-27 07:36:34 [error]: at osu.Framework.Threading.ScheduledDelegate.RunTaskInternal()
[runtime] 2022-01-27 07:36:34 [error]: at osu.Framework.Threading.Scheduler.Update()
[runtime] 2022-01-27 07:36:34 [error]: at osu.Framework.Graphics.Drawable.UpdateSubTree()
```
2022-01-27 16:39:38 +09:00
5637fd64d6 Perform ordering using IComparable instead 2022-01-27 15:59:20 +09:00
9ff2b9eb95 Merge pull request #16640 from peppy/realm-migration-always-delete
Improve realm migration UX to give users a recovery path on error
2022-01-27 15:43:14 +09:00