mirror of
https://github.com/ppy/osu.git
synced 2024-12-14 08:52:55 +08:00
000ddc14ac
Closes https://github.com/ppy/osu/issues/26824... I think? Can be reproduced via something like diff --git a/osu.Game/Online/API/OAuth.cs b/osu.Game/Online/API/OAuth.cs index 485274f349..e6e93ab4c7 100644 --- a/osu.Game/Online/API/OAuth.cs +++ b/osu.Game/Online/API/OAuth.cs @@ -151,6 +151,11 @@ internal string RequestAccessToken() { if (!ensureAccessToken()) return null; + for (int i = 0; i < 10000; ++i) + { + _ = Token.Value.AccessToken; + } + return Token.Value.AccessToken; } The cause is `SecondFactorAuthForm` calling `Logout()`, which calls `OAuth.Clear()`, _while_ the `APIAccess` connect loop is checking if `authentication.HasValidAccessToken` is true, which happens to internally check `Token.Value.AccessToken`, which the clearing of tokens can brutally interrupt. |
||
---|---|---|
.. | ||
API | ||
Chat | ||
Leaderboards | ||
Metadata | ||
Multiplayer | ||
Notifications/WebSocket | ||
Placeholders | ||
Rooms | ||
Solo | ||
Spectator | ||
BeatmapDownloadTracker.cs | ||
DevelopmentEndpointConfiguration.cs | ||
DownloadState.cs | ||
DownloadTracker.cs | ||
EndpointConfiguration.cs | ||
HubClient.cs | ||
HubClientConnector.cs | ||
IHubClientConnector.cs | ||
ILinkHandler.cs | ||
IStatefulUserHubClient.cs | ||
OnlineStatusNotifier.cs | ||
OnlineViewContainer.cs | ||
PersistentEndpointClient.cs | ||
PersistentEndpointClientConnector.cs | ||
PollingComponent.cs | ||
ProductionEndpointConfiguration.cs | ||
ScoreDownloadTracker.cs | ||
SignalRDerivedTypeWorkaroundJsonConverter.cs | ||
SignalRUnionWorkaroundResolver.cs | ||
SignalRWorkaroundTypes.cs |