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

41671 Commits

Author SHA1 Message Date
Dan Balasescu
8c107b4925
Merge pull request #26950 from bdach/2fa-in-registration
Add 2FA verification screen to registration flow
2024-02-02 17:30:20 +09:00
Dan Balasescu
108375975d
Merge pull request #26940 from EVAST9919/playfield-mods-alloc
Reduce allocation overhead in `Playfield`
2024-02-02 15:45:46 +09:00
Bartłomiej Dach
a00cf87925
Add 2FA verification screen to registration flow 2024-02-02 07:25:04 +01:00
Bartłomiej Dach
45f60b035e
Enable NRT in AccountCreationOverlay 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
93d34e4115
Enable NRT in ScreenWarning 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
b58ac7950b
Make game dependency in ScreenEntry optional to unbreak tests 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
bb6387bea0
Enable NRT in ScreenEntry 2024-02-02 07:24:32 +01:00
Bartłomiej Dach
2ff46daf5e
Also change icon and tooltip text when pending 2FA 2024-02-02 06:40:56 +01:00
Andrei Zavatski
53c5483eba Reduce allocation in Playfield 2024-02-02 04:53:48 +03:00
Loreos7
8dce158a13 localise update-related strings 2024-02-02 04:49:22 +03:00
Loreos7
7884e5808a localise remaining strings 2024-02-02 04:47:13 +03:00
Salman Ahmed
4dbcb41dd1 Remove unused parameter 2024-02-02 00:44:51 +03:00
Bartłomiej Dach
865f4d76ff
Add unranked indicator to song select footer too 2024-02-01 21:51:41 +01:00
Bartłomiej Dach
f87ab19731
Apply NRT to FooterButtonMods 2024-02-01 21:32:38 +01:00
Bartłomiej Dach
966093f7ce
Transform score multiplier display to also show ranked state 2024-02-01 21:32:37 +01:00
Sheepposu
b5dbf24d27 early replay analysis settings version
committing early version for others in the discussion to do their own testing with it
2024-02-01 10:19:09 -05:00
Andrei Zavatski
66350fd148 Refactor UserRankPanel layout 2024-02-01 16:33:54 +03:00
Andrei Zavatski
2bd9dcf646 Rework UserGridPanel to reduce containers nesting 2024-02-01 16:22:07 +03:00
Salman Ahmed
5bbaeb6836 Play legacy applause sound only when rank is B or higher 2024-02-01 16:08:36 +03:00
Salman Ahmed
35c3f5e250 Merge branch 'master' into fix-results-f-rank 2024-02-01 15:29:07 +03:00
Dean Herbert
bf3746daa8
Show login overlay at main menu when 2FA is required 2024-02-01 21:10:53 +09:00
Dean Herbert
563f4a26b1
Show "failing" icon on user panel when 2FA prompt is present
This gives the user a chance to know it's required.
2024-02-01 21:10:37 +09:00
Bartłomiej Dach
f89923aeae
Annotate mods that give pp 2024-01-31 14:59:35 +01:00
Dan Balasescu
0642d74014
Expose as ReadOnlyDictionary 2024-01-31 22:52:57 +09:00
Bartłomiej Dach
e71c95f1fe
Reintroduce IMod.Ranked
What goes around, comes around.
2024-01-31 14:48:35 +01: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
Dan Balasescu
0642a0ee11
Adjust default min result of SliderTailHit, remove override 2024-01-31 18:01:29 +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
Andrei Zavatski
6b1de5446a Reduce allocaations in ScrollingHitObjectContainer 2024-01-31 07:54:28 +03:00
Andrei Zavatski
3aefc91967 Make AliveDrawableMap public 2024-01-31 07:54:07 +03: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
Dean Herbert
23f12e1ea3
Should not be a container 2024-01-29 01:50:27 +09:00
Andrei Zavatski
b48f99ba4b Stop using SliderBar as a base 2024-01-28 18:06:09 +03:00
Andrei Zavatski
ed9e0fe1db Merge branch 'master' into progress-bar-improvements 2024-01-28 17:59:29 +03:00
Salman Ahmed
64b61108ad Move solution to multiplayer flow instead 2024-01-28 00:42:04 +03:00
Salman Ahmed
5f68999893 Fix TestSceneFailJudgement asserts no longer being correct 2024-01-27 23:23:32 +03:00
Salman Ahmed
a25be9927d Fix score processor no longer applying results when failing in multiplayer match 2024-01-27 23:23:10 +03:00
Salman Ahmed
ea641bb8d2 Rename GameplayState.HasFailed to properly clarify its meaning 2024-01-27 23:23:10 +03:00
Andrei Zavatski
9d73d0e04d Clamp logo triangles along both axes 2024-01-27 19:06:04 +03:00
Salman Ahmed
b25f4455d5
Merge branch 'master' into fix-edit-mod-preset-button-flow 2024-01-27 18:01:16 +03:00
Dean Herbert
4c34d2e352
Update framework 2024-01-27 20:21:27 +09:00
Dean Herbert
3cad5fe292
Merge pull request #26704 from peppy/new-logo
Update logo
2024-01-27 19:34:22 +09:00
Andrei Zavatski
3387565ba9 Fix song progress value may go beyond 1 2024-01-27 03:11:12 +03:00
Andrei Zavatski
567d2bedbf Refactor ArgonSongProgress for same CurrentTime meaning 2024-01-27 03:03:01 +03:00
Joseph Madamba
bb6c7a0a82 Fix edit mod preset popover buttons overflowing on some languages 2024-01-26 15:26:22 -08:00
Salman Ahmed
d25262944e Force results screen to play default D rank applause sound on fail (regardless of skin) 2024-01-27 01:46:43 +03:00
Salman Ahmed
47f0b86018 Fix results screen showing other rank badges on F rank 2024-01-27 01:46:12 +03:00
Dean Herbert
9dc2a1d6f8
Update resources 2024-01-27 01:02:16 +09:00
Bartłomiej Dach
b39b112548
Merge branch 'decouple-notification-websocket-from-chat' into 2fa 2024-01-26 11:21:33 +01:00
Bartłomiej Dach
243c2bc9b4
Make sure the polling connector actually auto-starts itself 2024-01-26 11:21:23 +01:00
Bartłomiej Dach
a2e69d37e8
Add basic testing of failure flow 2024-01-26 11:17:32 +01:00
Dean Herbert
cf97cb1e0c
Merge branch 'master' into dont-round-sv 2024-01-26 19:16:58 +09:00
Bartłomiej Dach
04cae874b0
Handle forced logouts due to password change too 2024-01-26 10:53:27 +01:00
Dean Herbert
6e3eb674f6
Move cast to local function and make direct cast 2024-01-26 12:55:36 +09:00