osu/osu.Game
Bartłomiej Dach 7fbd47e9ee
Fix MultiplayerMatchSubScreen erroneously pushing exit dialog on API failure
If `IAPIProvider.State` changes from `Online` at any point when being on
an `OnlinePlayScreen`, it will be forcefully exited from. However,
`MultiplayerMatchSubScreen` had local logic that suppressed the exit in
order to show a confirmation dialog.

The problem is, that in the suppression logic,
`MultiplayerMatchSubScreen` was checking
`MultiplayerClient.IsConnected`, which is a SignalR flag, and was not
checking `IAPIAccess.State`, which is maintained separately. Due to
differing timeouts and failure thresholds, it is not impossible to have
`MultiplayerClient.IsConnected == true` but `IAPIAccess.State !=
APIState.Online`.

In such a case, the match subscreen would wrongly consider itself to be
still online and due to that, push useless confirmation dialogs, while
being in the process of being forcefully exited. This then caused the
dialog to cause a crash, as it was calling `.Exit()` on the screen which
would already have been exited by that point, by the force-exit flow.
2023-07-16 19:56:22 +02:00
..
Audio Add basic implementation of argon osu!taiko hitsounds (volume / flourish / strong) 2023-07-05 18:44:27 +09:00
Beatmaps Optimize realm transactions for editor Save action 2023-07-13 14:33:21 +02:00
Collections Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
Configuration Remember state of replay settings visibility 2023-07-06 00:53:37 +09:00
Database Ensure migration is never run on scores with new-enough TotalScoreVersions 2023-07-14 20:02:25 +09:00
Extensions
Graphics Merge branch 'master' into framework-clipboard 2023-07-14 03:32:37 +09:00
Input Bring realm library up-to-date 2023-07-06 13:37:43 +09:00
IO Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
IPC
Localisation Remove the ability to cancel all "in progress" tasks 2023-07-07 00:31:32 +09:00
Models
Online Merge pull request #24190 from novialriptide/emoji-fix 2023-07-13 22:05:12 +02:00
Overlays Fix PopupDialog potentially accumulating schedules during load 2023-07-16 19:43:37 +02:00
Performance Automated pass 2023-06-24 01:00:03 +09:00
Properties Automated pass 2023-06-24 01:00:03 +09:00
Replays
Rulesets Merge pull request #24197 from peppy/allow-autoplay-failure 2023-07-13 23:44:07 +02:00
Scoring simplify code 2023-07-16 10:21:32 +08:00
Screens Fix MultiplayerMatchSubScreen erroneously pushing exit dialog on API failure 2023-07-16 19:56:22 +02:00
Skinning Merge branch 'master' into taiko-hitsounding-final-attempt 2023-07-08 18:10:04 +02:00
Storyboards Manual fixes to reduce warnings to zero 2023-06-24 01:52:53 +09:00
Tests Remove unused field 2023-07-08 15:03:33 +02:00
Updater
Users Make ScoreInfo.BeatmapInfo nullable 2023-07-04 14:50:34 +09:00
Utils Automated pass 2023-06-24 01:00:03 +09:00
.editorconfig
BackgroundBeatmapProcessor.cs Merge pull request #24114 from peppy/editor-save-local-score-management 2023-07-07 15:40:54 +09:00
osu!.res
osu.Game.csproj Update framework 2023-07-17 00:55:25 +09:00
OsuGame.cs Update inline with framework IWindow changes 2023-07-01 19:02:09 +02:00
OsuGameBase_Importing.cs Automated pass 2023-06-24 01:00:03 +09:00
OsuGameBase.cs Revert unintented change 2023-06-29 17:15:48 +09:00
PerformFromMenuRunner.cs