Commit Graph

48492 Commits

Author SHA1 Message Date
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
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
e0616476e2 Fix test gameplay tests failing due to beatmap refetch on suspend 2022-01-26 21:15:49 +01:00
d760283665 Ensure edited beatmap is restored to a baseline state on exit 2022-01-26 21:15:49 +01:00
4382adad82 Add test coverage for editor changes not resetting after exit without save 2022-01-26 21:15:49 +01:00
de5ac7ad83 Merge pull request #16632 from LumpBloom7/Third-party-ruleset-filter-fix
Fix ruleset filters not working correctly on song select
2022-01-26 19:24:06 +01:00
df9658641c Merge branch 'master' into Third-party-ruleset-filter-fix 2022-01-26 18:54:20 +01:00
b7aa26bc5f Merge pull request #16633 from peppy/fix-collection-migration
Block collection loading until realm migration has completed
2022-01-26 18:12:19 +01:00
f70e10e8a4 Fix ruleset filter matching using OnlineID instead of ShortName 2022-01-27 01:25:57 +09:00
0c2ed2f9a7 Add failing test coverage of incorrect filter ruleset matching 2022-01-27 01:25:57 +09:00
f21e3d0d86 Block collection loading until realm migration has completed 2022-01-27 00:34:51 +09:00
6ec9c5c21a Use default custom ruleset ID 2022-01-26 16:23:00 +01:00
e712fab299 Add test for custom ruleset conversion filtering 2022-01-26 16:14:07 +01:00
873d367615 Fix custom rulesets not being able to convert maps 2022-01-26 15:51:39 +01:00
bab337591f Merge pull request #16630 from peppy/fix-null-mod-json-parse-fail
Fix some score imports failing due to null string attempted to be parsed as json
2022-01-26 23:15:23 +09:00
70acc4d0bd Merge pull request #16631 from frenzibyte/make-test-abstract
Mark `EditorSavingTestScene` as abstract to not appear in visual test browser
2022-01-26 23:10:09 +09:00
7f34085baa Mark EditorSavingTestScene as abstract 2022-01-26 17:04:30 +03:00
378173cc66 Fix some score imports failing due to null string attempted to be parsed as json 2022-01-26 22:46:29 +09:00
cf9ee43b17 Merge pull request #16608 from peppy/playlist-overlay-optimisations
Optimise `PlaylistOverlay` and reduce startup overhead of `MusicController`
2022-01-26 20:28:33 +09:00
a07fce55d4 Merge pull request #16606 from peppy/fix-out-of-order-events-on-block-fail
Fix notification reset events potentially arriving out of order if a block operation times out
2022-01-26 20:28:21 +09:00
0dd2de3e1e Merge pull request #16628 from peppy/fix-realm-ruleset-ordering
Fix custom rulesets being displayed before official ones
2022-01-26 19:19:01 +09:00