1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 14:37:30 +08:00
Commit Graph

41590 Commits

Author SHA1 Message Date
Salman Ahmed
0502997ae9 Stop blocking player loader when hovering over osu! logo 2024-02-02 01:26:04 +03:00
Dean Herbert
4248593289
Fix menu banner not updating as often as we want it to 2024-01-31 22:44:24 +09:00
Dean Herbert
56700d672b
Merge pull request #26837 from bdach/2fa-not-verifying-via-link
Fix 2FA verification via link not working correctly
2024-01-31 19:15:33 +09:00
Bartłomiej Dach
e7cfbd3c56
Merge pull request #26876 from peppy/slider-miss-last-longer
Adjust slider tick / end misses to show slightly longer
2024-01-31 10:43:58 +01:00
Dean Herbert
19fe3a15f3
Merge branch 'master' into 2fa-not-verifying-via-link 2024-01-31 18:32:55 +09:00
Dean Herbert
edab05672b
Merge pull request #26834 from bdach/2fa-cancel-crash
Fix crash when logging out during 2FA email verification
2024-01-31 18:32:33 +09:00
Dean Herbert
fbc923b47e
Revert "Merge pull request #26870 from smoogipoo/adjust-default-minresult"
This reverts commit 1acff746ee, reversing
changes made to 696ecda398.
2024-01-31 17:51:38 +09:00
Dean Herbert
1acff746ee
Merge pull request #26870 from smoogipoo/adjust-default-minresult
Adjust default min result of SliderTailHit, remove override
2024-01-31 17:49:58 +09:00
Dean Herbert
ebf637bd3c
Adjust slider tick / end misses to show slightly longer 2024-01-31 17:41:26 +09:00
Dean Herbert
a7f9f50ce5
Show a better message when score submission fails due to system clock being set wrong 2024-01-31 16:52:50 +09:00
Dean Herbert
3f527081bd
Update framework 2024-01-31 16:12:46 +09:00
Dan Balasescu
9b1bbe5f48
Adjust default min result of SliderTailHit, remove override 2024-01-31 16:12:05 +09:00
Bartłomiej Dach
c5e118bd10
Revert "Move fade more local to avoid fading twice"
This reverts commit d0421fe206
and fixes https://github.com/ppy/osu/issues/26801.

https://github.com/ppy/osu/pull/26703#discussion_r1469409667
was correct in saying that the early fade-out needs to be restored, and
that's because of the early-return. Legacy judgements that are the
temporary displayed judgement from new piece should also receive the
fade-out, and d0421fe206 broke that.
2024-01-30 22:16:46 +01:00
Bartłomiej Dach
4126dcbe28
Fix 2FA verification via link not working correctly
Closes https://github.com/ppy/osu/issues/26835.

I must have not re-tested this correctly after all the refactors...

Basically the issue is that the websocket connection would only come
online when the API state changed to full `Online`. In particular
the connector would not attempt to connect when the API state was
`RequiresSecondFactorAuth`, giving the link-based flow no chance to
actually work.

The change in `WebSocketNotificationsClientConnector` is relevant in
that queueing requests does nothing before the API state changes to full
`Online`. It also cleans up things a bit code-wise so... win?

And yes, this means that the _other_ `PersistentEndpointClientConnector`
implementations (i.e. SignalR connectors) will also come online earlier
after this. Based on previous discussions
(https://github.com/ppy/osu/pull/25480#discussion_r1395566545) I think
this is fine, but if it is _not_ fine, then it can be fixed by exposing
a virtual that lets a connector to decide when to come alive, I guess.
2024-01-30 21:49:06 +01:00
Bartłomiej Dach
000ddc14ac
Fix broken locking in OAuth
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.
2024-01-30 21:05:23 +01:00
Dean Herbert
d895a91cd5
Update endpoints to final production endpoints 2024-01-30 18:40:17 +09:00
Dean Herbert
99f4b2c113
Merge pull request #26788 from EVAST9919/scrolling-alloc
Reduce allocation overhead in `ScrollingHitObjectContainer`
2024-01-30 14:06:27 +09:00
Andrei Zavatski
87f853fcd2 Reduce overhead in ScrollingHitObjectContainer 2024-01-30 00:59:31 +03:00
Bartłomiej Dach
6888cda02c
Make LegacyScoreDecoder.PopulateMaximumStatistics() public
For `osu-tools` consumption.
2024-01-29 21:42:38 +01:00
Dean Herbert
b3919bff56
Merge pull request #26780 from bdach/fix-websocket-very-bad-not-good
Fix incorrect handling of `StartChatRequest` in websocket chat client
2024-01-30 05:11:55 +09:00
Bartłomiej Dach
1fbc92ca7e
Merge branch 'master' into fix-song-select-osu-logo-position 2024-01-29 20:11:52 +01:00
Bartłomiej Dach
acc2614090
Apply alternative solution
Fixes the logo flying out of the wrong corner when transitioning from
song select to gameplay.

Co-authored-by: Dean Herbert <pe@ppy.sh>
2024-01-29 20:07:27 +01:00
Bartłomiej Dach
996ae0ecc1
Fix incorrect handling of StartChatRequest in websocket chat client
Fixes this happening on staging:

	[network] 2024-01-29 17:48:24 [verbose]: WebSocketNotificationsClientConnector connected!
	[network] 2024-01-29 17:48:24 [verbose]: WebSocketNotificationsClientConnector connect attempt failed: Can't use WaitSafely from inside an async operation.

I'm not sure how I ever allowed that `.WaitSafely()` to be there. It
did feel rather dangerous but then I must have forgotten and never
noticed it failing. Which is weird because you'd think that would be
caught by testing that chat isn't working but I'm pretty sure that I
tested that chat *was* indeed working.

Anyway now that entire flow is replaced by something that should
hopefully be somewhat more sane? It has a whole retry flow with logging
now which should be more robust than what was there previously (failing
to start to listen to chat events killing the entire websocket
connection for very little good reason).
2024-01-29 19:22:40 +01:00
Dean Herbert
16c06169ed
Update framework 2024-01-30 01:06:32 +09:00
Bartłomiej Dach
2667cb8b36
Merge pull request #26703 from peppy/smaller-slider-misses
Adjust slider tick / end defaults again
2024-01-29 13:51:07 +01:00
Dean Herbert
f2546d72c2
Fix osu! logo being mispositioned in song select on very wide resolutions 2024-01-29 20:45:51 +09:00
Dean Herbert
811b31386b
Merge pull request #26616 from peppy/dont-round-sv 2024-01-29 20:42:38 +09:00
Dean Herbert
f1c1d9cb14
Merge pull request #26772 from peppy/update-framework
Update framework
2024-01-29 20:15:01 +09:00
Bartłomiej Dach
11ec8a1cad
Merge branch 'master' into dont-round-sv 2024-01-29 11:52:46 +01:00
Bartłomiej Dach
8a11ff1227
Apply local precision workaround to editor effect section 2024-01-29 11:52:38 +01:00
Dean Herbert
a1fe5eedd5
Merge pull request #26751 from frenzibyte/fix-multiplayer-fail-freezing-score
Fix score processor no longer applying results when failing in multiplayer match
2024-01-29 19:51:31 +09:00
Dean Herbert
1efdf2ae25
Update framework 2024-01-29 19:45:56 +09:00
Dean Herbert
8341da7586
Revert "Remove dead code" (mostly)
This reverts commit 6070eac6ee.
2024-01-29 19:43:40 +09:00
Dean Herbert
dc28a6b873
Update resources 2024-01-29 19:33:13 +09:00
Dean Herbert
cbbe2f9dc0
Merge pull request #25480 from peppy/2fa
Add two factor authentication flow
2024-01-29 19:14:55 +09:00
Dean Herbert
540ff0da5b
Add loading layer when requesting a code reissue 2024-01-29 17:54:34 +09:00
Bartłomiej Dach
4c5dacd559
Merge pull request #26770 from peppy/fucking-hitobject-references
Fix `OsuPlayfield` being retained indefinitely after gameplay
2024-01-29 09:40:56 +01:00
Dean Herbert
6a469f2cb6
Use switch instead of if-else 2024-01-29 17:18:17 +09:00
Bartłomiej Dach
96811a8874
Fix APIAccess spamming requests while waiting for second factor 2024-01-29 09:14:30 +01:00
Bartłomiej Dach
363fd1d54f
Remove no longer relevant changes 2024-01-29 09:05:03 +01:00
Dean Herbert
4a2602a775
Merge branch 'master' into 2fa 2024-01-29 16:57:29 +09:00
Dean Herbert
48fc0545c2
Merge pull request #26724 from bdach/decouple-notification-websocket-from-chat
Decouple notifications websocket handling from chat operations
2024-01-29 16:57:13 +09:00
Dean Herbert
ef94eff574
Rename PollingChatClientConnector to better describe usage 2024-01-29 16:56:28 +09:00
Dean Herbert
fb24c66342
Mark ResultsScreen.Score as nullable
Is nullable in playlist results at very least.
2024-01-29 16:43:26 +09:00
Dean Herbert
760368709a
Mark some delegates as static because we can 2024-01-29 16:16:28 +09:00
Dean Herbert
eb90ee5415
Add safety in ResultsScreen.Exit to ensure HitEvents are not holding references
This is a catch-all safety disconnecting `ScoreInfo` from `HitObject`s.
2024-01-29 16:16:17 +09:00
Dean Herbert
76832a1495
Remove ScorePerformanceCache
This class was only used in two places, both on the results screen, but
was holding references to `OsuPlayfield` game-wide (due to unrelated
issues, but still).

Because I can't really think of future use cases for this, and running
the calculation twice at results screen isn't a huge overhead, let's
just do that for now to keep things simple.
2024-01-29 15:28:20 +09:00
Dean Herbert
de32e7815b
Clean up DrawableHitObject events on Dispose
This is just general safeties to avoid cases where
components don't correctly unbind events.
2024-01-29 15:28:20 +09:00
Dean Herbert
462dab3c90
Remove unnecessary bindable 2024-01-29 02:13:39 +09:00
Dean Herbert
f4dd84fa77
Fix various inconsistencies and document better 2024-01-29 02:10:33 +09:00