Commit Graph

48492 Commits

Author SHA1 Message Date
Dean Herbert 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
Dean Herbert 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
Dan Balasescu 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
Dean Herbert fae4f8bd8e Move nulling of previous `songSelect` to `SetUpSteps` instead 2022-01-27 21:59:44 +09:00
Dean Herbert 2d1a8a9d49 Use a more correct `CompareTo` implementation for ruleset ordering 2022-01-27 21:58:04 +09:00
Dean Herbert 33b7bdcf82 Update pointless `CompareTo` implementation 2022-01-27 21:49:33 +09:00
Dean Herbert 7af23328a4
Merge branch 'master' into ruleset-ordering-fix 2022-01-27 21:46:03 +09:00
Dean Herbert 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
Dean Herbert 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
Dean Herbert 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
Dean Herbert 3ae5973ab7 Fix compilation error due to commit split 2022-01-27 17:08:31 +09:00
Dean Herbert a5d422e82c Merge branch 'master' into ruleset-id-fixes 2022-01-27 17:07:18 +09:00
Dean Herbert 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
Dan Balasescu 54d18bd7ac
Merge pull request #16642 from peppy/ruleset-private-info-set
Make `Ruleset.RulesetInfo` get only
2022-01-27 16:41:52 +09:00
Dan Balasescu 81ba1558de
Merge pull request #16643 from peppy/ruleset-silly-ctor
Remove pointless constructor in `RulesetInfo`
2022-01-27 16:41:38 +09:00
Dean Herbert 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
Dean Herbert 5637fd64d6 Perform ordering using `IComparable` instead 2022-01-27 15:59:20 +09:00
Dan Balasescu 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
Dean Herbert 5288eedd31 Update all usages of `RulesetID` and `Ruleset.ID` to use `Ruleset.OnlineID` 2022-01-27 15:38:03 +09:00
Dean Herbert 714177cce1 Remove pointless constructor in `RulesetInfo` 2022-01-27 15:37:27 +09:00
Dean Herbert e67b1fe0ec Make `Ruleset.RulesetInfo` get only 2022-01-27 15:36:35 +09:00
Dean Herbert f30d63107a Add `SortID` to `RulesetInfo` to allow stable ordering of rulesets for display 2022-01-27 15:35:16 +09:00
Dan Balasescu 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
Dean Herbert 67ccb87992 Add exception message to discussion template url 2022-01-27 14:56:04 +09:00
Dean Herbert fb081384e1 Add safety against zip creation potentially failing (probably can't but still) 2022-01-27 14:55:52 +09:00
Dean Herbert 465e7d29fe Avoid showing the external link warning 2022-01-27 14:53:11 +09:00
Dean Herbert 31abb372e5 Automatically zip and show the backup archive to the user 2022-01-27 14:52:58 +09:00
Dean Herbert 08948f60f3 Move backups to "backups" subfolder to make them easier to find 2022-01-27 14:39:13 +09:00
Dean Herbert b745252962 Show notification when migration fails to give users a recovery path 2022-01-27 14:39:11 +09:00
Dean Herbert 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
Dean Herbert 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
Bartłomiej Dach e0616476e2
Fix test gameplay tests failing due to beatmap refetch on suspend 2022-01-26 21:15:49 +01:00
Bartłomiej Dach d760283665
Ensure edited beatmap is restored to a baseline state on exit 2022-01-26 21:15:49 +01:00
Bartłomiej Dach 4382adad82
Add test coverage for editor changes not resetting after exit without save 2022-01-26 21:15:49 +01:00
Bartłomiej Dach 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
Bartłomiej Dach df9658641c
Merge branch 'master' into Third-party-ruleset-filter-fix 2022-01-26 18:54:20 +01:00
Bartłomiej Dach 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
Dean Herbert f70e10e8a4 Fix ruleset filter matching using `OnlineID` instead of `ShortName` 2022-01-27 01:25:57 +09:00
Dean Herbert 0c2ed2f9a7 Add failing test coverage of incorrect filter ruleset matching 2022-01-27 01:25:57 +09:00
Dean Herbert f21e3d0d86 Block collection loading until realm migration has completed 2022-01-27 00:34:51 +09:00
Derrick Timmermans 6ec9c5c21a
Use default custom ruleset ID 2022-01-26 16:23:00 +01:00
Derrick Timmermans e712fab299
Add test for custom ruleset conversion filtering 2022-01-26 16:14:07 +01:00
Derrick Timmermans 873d367615
Fix custom rulesets not being able to convert maps 2022-01-26 15:51:39 +01:00
Dan Balasescu 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
Dean Herbert 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
Salman Ahmed 7f34085baa Mark `EditorSavingTestScene` as abstract 2022-01-26 17:04:30 +03:00
Dean Herbert 378173cc66 Fix some score imports failing due to null string attempted to be parsed as json 2022-01-26 22:46:29 +09:00
Dan Balasescu 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
Dan Balasescu 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
Dan Balasescu 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