Commit Graph

7744 Commits

Author SHA1 Message Date
e4ef540b5b Fix intermittent failures on TestBeatmapDownloadingFlow due to slow realm refresh 2022-03-10 20:33:14 +09:00
d1f8fd01df Merge pull request #17180 from jai-x/new-chat-channel-listing
Implement `ChannelListing` for new chat design
2022-03-10 19:27:58 +09:00
d5eca16b69 Fix potential test failures due to slow realm refresh in TestSceneScreenNavigation
As seen at https://github.com/ppy/osu/runs/5492345983?check_suite_focus=true.
2022-03-10 18:10:08 +09:00
db5c2c15dc Merge pull request #17164 from smoogipoo/scoreprocessor-rework
Rework ScoreProcessor score calculation methods to fix various issues
2022-03-10 16:48:58 +09:00
13a4058efd Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
cf91353009 Merge branch 'master' into scoreprocessor-rework 2022-03-10 16:14:28 +09:00
0155519343 Merge branch 'master' into new-chat-channel-listing 2022-03-10 15:49:06 +09:00
b67f9269f9 Remove NewChat namespace 2022-03-09 18:13:56 +00:00
94ff6a338f Merge branch 'master' into scoreprocessor-rework 2022-03-09 23:04:18 +09:00
5fb51b578f Update dependencies
Mainly for a `Clowd.Squirrel` bump to fix https://github.com/ppy/osu/discussions/17190.
2022-03-09 19:09:51 +09:00
2e350a91cc Fix non-matching filename 2022-03-09 18:07:43 +09:00
2eb3365f46 Fix regressing issues when attempting to exit Player after an unsuccessful beatmap load 2022-03-09 17:57:58 +09:00
1ee0be5e39 Ensure gameplay can't start when an UnknownMod is present 2022-03-09 17:57:58 +09:00
0267aed846 Change ToMod to return an UnknownMod rather than throw if a mod isn't available
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).

Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.

```
 An unhandled has occurred.
 System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
 at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
 at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
 at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
 at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
 at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
 at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
 at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
 at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
affcf5180b Merge pull request #17161 from smoogipoo/fix-listing-score-conversion
Fix scores not being recalculated in beatmap overlay
2022-03-09 13:32:45 +09:00
58aef25ad5 Merge pull request #17152 from bdach/mod-overlay/difficulty-multiplier
Implement difficulty multiplier display for new mod select design
2022-03-09 12:11:16 +09:00
810cbd745d Merge pull request #17170 from peppy/fix-top-local-rank-test-failures-realm-callback
Refactor top local rank test method to be more resilient to slow realm callbacks
2022-03-09 11:14:37 +09:00
af4423959c Merge pull request #17169 from peppy/fix-song-select-test-failures-realm-callback
Refactor song select test methods to be resilient to slow realm callbacks
2022-03-09 11:14:26 +09:00
9720a06b16 Use int in ChannelListing test 2022-03-09 00:52:33 +00:00
a3477c3841 Implement ChannelListing for new chat design
Adds components `ChannelListing` and `ChannelListing` item with visual
test. Essentially a more simplified version of the existing
`ChannelSelectionOverlay` component.

Correctly implements `IFilterable` behaviour to filter child channel
items. Channel joined state is based on the underlying `Joined` bindable
of the `Channel` class.

Channel join/leave events are exposed via `OnRequestJoin` and
`OnRequestLeave` events which should be handled by parent component.

Requires a cached `OverlayColourScheme` instance to be provided by the
parent overlay component when added.
2022-03-08 22:30:58 +00:00
e91226f578 Fix 'auto-property never assigned to' inspections 2022-03-08 21:41:10 +01:00
714789f726 Merge pull request #17167 from peppy/fix-download-button-test-failure
Fix potential test failure on slow realm callback in `TestSceneBeatmapDownloadButton`
2022-03-09 01:49:23 +09:00
233c8232d3 Fix TestSceneTopLocalRank.TestHighScoreSet not waiting for potentially slow realm callback
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:22:01 +09:00
286bafe326 Refactor multiple TestScenePlaySongSelect test methods to be resilient to slow realm callbacks 2022-03-09 01:18:53 +09:00
56ad684f5b Fix potential test failure on slow realm callback in TestSceneBeatmapDownloadButton
As brought to light by https://gist.github.com/smoogipoo/56eda7ab56b9d1966556f2ca7a80a847.
2022-03-09 01:11:46 +09:00
729af28a64 Fix intermittent test failure 2022-03-09 00:48:12 +09:00
94d5e2f264 Fix test failure ripple through entire TestScene 2022-03-09 00:48:03 +09:00
e9a2d23542 Fix score order related test failure 2022-03-08 23:35:35 +09:00
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
2c382bd1d9 Rename GetImmediateScore() as overload of GetScore() 2022-03-08 21:49:40 +09:00
d13a66a96c Rework test scene by only relying on OnlineID 2022-03-08 20:11:56 +09:00
9a347af5c7 Add test coverage of SubmittableScore serialisation to (roughly) match spec 2022-03-08 17:58:52 +09:00
2a55c5e02e Add extension method to detect and isolate realm collection-level changes 2022-03-08 14:50:47 +09:00
78a3b5961e Implement basic difficulty multiplier display 2022-03-07 22:50:51 +01:00
31d6c75f40 Merge branch 'master' into realm-property-watching 2022-03-07 13:53:17 +09:00
bd1adaf245 Merge pull request #17115 from frenzibyte/manual-channel-scroll
Refactor channel scrolling container to handle non-user scrolls
2022-03-07 11:26:23 +09:00
ba83db0229 Merge pull request #17134 from bdach/mod-overlay/popup-screen-title
Implement popup screen title component
2022-03-07 11:03:38 +09:00
e5a6564034 Merge branch 'master' into fix-storyboard-sample-rate 2022-03-07 03:12:40 +03:00
9bc1f3f014 Further refactor and simplify ChannelScrollContainer 2022-03-06 23:34:12 +03:00
54275813b5 Use text flow container in popup screen title 2022-03-06 20:41:31 +01:00
df0617f34c Implement popup screen title component 2022-03-06 16:09:18 +01:00
5b3ffb12b7 Refactor channel scrolling container to handle manual scrolls resiliently 2022-03-05 23:27:07 +03:00
0e8ad4b143 Switch step to Until steps due to AddOnce firing logic 2022-03-06 01:50:25 +09:00
92cd8ee29f Decrease overhead of hit event distribution tests 2022-03-04 14:56:49 +09:00
540d7d0e2c Add the ability to set and show an offset value on timing distribution graph 2022-03-04 14:36:15 +09:00
e09dd7d8fe Fix calibrating offset from previous non-zero offset not applying adjustment correctly 2022-03-04 13:25:14 +09:00
835cb09537 Merge branch 'master' into fix-hit-distribution-rounding 2022-03-04 12:43:57 +09:00
b0688cc6dd Merge branch 'master' into fix-storyboard-sample-rate 2022-03-04 12:04:49 +09:00
e1610b5d32 Merge branch 'master' into ruleset-leaderboard-unavailable 2022-03-03 22:52:20 +01:00
1485a3a28a Add test coverage of proeprty changed subscriptions 2022-03-03 17:56:49 +09:00