Commit Graph

48561 Commits

Author SHA1 Message Date
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
5288eedd31 Update all usages of RulesetID and Ruleset.ID to use Ruleset.OnlineID 2022-01-27 15:38:03 +09:00
714177cce1 Remove pointless constructor in RulesetInfo 2022-01-27 15:37:27 +09:00
e67b1fe0ec Make Ruleset.RulesetInfo get only 2022-01-27 15:36:35 +09:00
f30d63107a Add SortID to RulesetInfo to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
cc0a8db76a Merge pull request #16639 from peppy/ef-db-delete-retry
Add more attempts to delete EF database
2022-01-27 15:31:40 +09:00
67ccb87992 Add exception message to discussion template url 2022-01-27 14:56:04 +09:00
fb081384e1 Add safety against zip creation potentially failing (probably can't but still) 2022-01-27 14:55:52 +09:00
465e7d29fe Avoid showing the external link warning 2022-01-27 14:53:11 +09:00
31abb372e5 Automatically zip and show the backup archive to the user 2022-01-27 14:52:58 +09:00
08948f60f3 Move backups to "backups" subfolder to make them easier to find 2022-01-27 14:39:13 +09:00
b745252962 Show notification when migration fails to give users a recovery path 2022-01-27 14:39:11 +09:00
deb5d75b5f Change migration process to always delete old EF database
It is already backed up, so this is probably fine.
2022-01-27 14:33:46 +09:00
587c0f965c Add more attempts to delete EF database
Just noticed in passing. Probably best we do this since it was known to
fail on windows in some rare cases.
2022-01-27 14:32:21 +09:00