1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 17:57:29 +08:00
Commit Graph

68274 Commits

Author SHA1 Message Date
Dean Herbert
99c5025de8
Merge pull request #28892 from bdach/better-client-identifier
Send client-generated session GUID for identification purposes
2024-07-18 01:07:40 +09:00
Bartłomiej Dach
2a601ce961
Also send version hash header under more accepted convention of name 2024-07-17 16:21:46 +02:00
Bartłomiej Dach
3006bae0d8
Send client-generated session GUID for identification purposes
This is the first half of a change that *may* fix
https://github.com/ppy/osu/issues/26338 (it definitely fixes *one case*
where the issue happens, but I'm not sure if it will cover all of them).

As described in the issue thread, using the `jti` claim from the JWT
used for authorisation seemed like a decent idea. However, upon closer
inspection the scheme falls over badly in a specific scenario where:

1. A client instance connects to spectator server using JWT A.

2. At some point, JWT A expires, and is silently rotated by the game in
   exchange for JWT B.

   The spectator server knows nothing of this, and continues to only
   track JWT A, including the old `jti` claim in said JWT.

3. At some later point, the client's connection to one of the spectator
   server hubs drops out. A reconnection is automatically attempted,
   *but* it is attempted using JWT B.

   The spectator server was not aware of JWT B until now, and said JWT
   has a different `jti` claim than the old one, so to the spectator
   server, it looks like a completely different client connecting, which
   boots the user out of their account.

This PR adds a per-session GUID which is sent in a HTTP header on every
connection attempt to spectator server. This GUID will be used instead
of the `jti` claim in JWTs as a persistent identifier of a single user's
single lazer session, which bypasses the failure scenario described
above.

I don't think any stronger primitive than this is required. As far as I
can tell this is as strong a protection as the JWT was (which is to say,
not *very* strong), and doing this removes a lot of weird complexity
that would be otherwise incurred by attempting to have client ferry all
of its newly issued JWTs to the server so that it can be aware of them.
2024-07-17 15:56:41 +02:00
Dean Herbert
d32fef8aee
Merge pull request #28891 from frenzibyte/fix-storyboard-positioning
Fix storyboard sprites leaving gaps on edges when "beatmap skins" is enabled
2024-07-17 22:56:27 +09:00
Dean Herbert
84a36a409b
Merge pull request #28890 from bdach/protected-beatmaps-begone
Exclude protected beatmaps from consideration in several places
2024-07-17 22:24:08 +09:00
Salman Ahmed
c4141fff07 Fix storyboard sprites leaving gaps on edges when resolving from an atlas 2024-07-17 14:47:17 +03:00
Bartłomiej Dach
e4ff6b5c8b
Add flags allowing excluding protected beatmaps from consideration in music controller
This means that the protected beatmap can not be skipped forward/back
to.

Incidentally closes https://github.com/ppy/osu/issues/23199.
2024-07-17 12:46:24 +02:00
Bartłomiej Dach
1ffc34b651
Do not show protected beatmaps in playlist overlay
Secondary fix to https://github.com/ppy/osu/issues/28880.
2024-07-17 11:46:59 +02:00
Bartłomiej Dach
4c1f902969
Do not allow working beatmap to switch to protected beatmap in song select
Principal fix to https://github.com/ppy/osu/issues/28880.
2024-07-17 11:46:19 +02:00
Dean Herbert
5633297d1c
Merge pull request #28884 from smoogipoo/bds-test
Fix BackgroundDataStoreProcessor test failure
2024-07-17 11:24:30 +09:00
Bartłomiej Dach
7ba1f142e5
Fix rank upgrade path upgrading scores that failed background reprocessing earlier 2024-07-16 14:04:51 +02:00
Bartłomiej Dach
53b6f9e385
Fix test not waiting properly for background processing to complete 2024-07-16 14:04:51 +02:00
Bartłomiej Dach
6db135279f
Restore test coverage of original fail case 2024-07-16 14:04:50 +02:00
Dan Balasescu
ae5b0aa54b
Fix BackgroundDataStoreProcessor test failure 2024-07-16 19:59:13 +09:00
Bartłomiej Dach
ad2db3f853
Merge pull request #28882 from peppy/update-framework
Update framework
2024-07-16 12:28:51 +02:00
Bartłomiej Dach
0f106abf53
Merge pull request #28883 from peppy/fix-timing-point-misalign
Fix summary timeline timing points being incorrectly positioned
2024-07-16 12:28:17 +02:00
Dean Herbert
f1325386f0
Fix summary timeline timing points having x position applied twice 2024-07-16 18:32:54 +09:00
Bartłomiej Dach
76d016df34
Fix code inspection 2024-07-16 11:31:16 +02:00
Dean Herbert
4ad7d900c1
Fix incorrect editor screen padding 2024-07-16 18:20:33 +09:00
Dan Balasescu
d4ea604ad0
Add test 2024-07-16 18:19:00 +09:00
Dean Herbert
063377f47c
Update framework 2024-07-16 17:45:25 +09:00
Dan Balasescu
bd4f3e28d9
Fix judgement animation getting cut early 2024-07-16 17:32:59 +09:00
Dan Balasescu
54cf64d5ce
Merge pull request #28853 from peppy/fix-import-metadata-test-failure
Fix test failure in `TestMetadataTransferred`
2024-07-16 11:17:42 +09:00
Dan Balasescu
58ffbd9e1e
Merge pull request #28874 from peppy/fix-editor-toolbox-padding
Fix editor toolboxes being incorrectly chopped
2024-07-16 10:37:33 +09:00
Dan Balasescu
f6b4d54fef
Merge pull request #28876 from peppy/fix-daily-challenge-disposal-aa
Fix potential crash when exiting daily challenge screen
2024-07-16 10:34:43 +09:00
Dean Herbert
1083e71ce6
Fix potential crash when exiting daily challenge screen
Without the schedule this will potentially run after disposal of the
local drawable hierarchy.

Closes https://github.com/ppy/osu/issues/28875.
2024-07-16 03:02:04 +09:00
Dean Herbert
6cdcd6136d
Fix editor toolboxes being incorrectly chopped 2024-07-15 21:02:54 +09:00
Salman Ahmed
adb803c7a9 Force recreating sections container when loading new user to avoid weird UX when scrolled away 2024-07-14 15:19:37 +03:00
Dean Herbert
2c102fc9d0
Fix test failure in TestMetadataTransferred 2024-07-14 01:36:51 +09:00
Salman Ahmed
43d08f702a Or just use Colour4 where we have that fixed 2024-07-13 18:45:50 +03:00
Salman Ahmed
b12790c684 Fix hue number 360 giving off a gray colour scheme
They say it's not a bug, it's a feature...I dunno maybe later.
2024-07-13 18:29:06 +03:00
Dean Herbert
c854dfd6fb
Merge pull request #28832 from nekodex/ui-sfx-tweaks
UI SFX Tweaks/Updates
2024-07-13 23:24:06 +09:00
Dean Herbert
9ed97d03a8
Update resources 2024-07-13 20:22:52 +09:00
Salman Ahmed
be1d3c0ea4 Add test coverage 2024-07-13 11:58:54 +03:00
Salman Ahmed
b292bf3832 Support using custom hue in user profile overlay 2024-07-13 11:58:54 +03:00
Salman Ahmed
933626a64b Support using custom hue in OverlayColourProvider 2024-07-13 11:58:54 +03:00
Salman Ahmed
3eaac11b44 Add profile hue attribute to API model 2024-07-13 11:26:45 +03:00
Dean Herbert
eb3f480a2a
Merge pull request #28683 from frenzibyte/footer-v2-integration
Replace local footer in existing sheared overlays (e.g. mod select & first-run setup) with `ScreenFooter`
2024-07-12 22:45:06 +09:00
Dean Herbert
9a1939a922
Move logoContainer local again 2024-07-12 22:01:20 +09:00
Dean Herbert
e8f7213b3b
Move logo depth to a forward passing 2024-07-12 22:01:20 +09:00
Jamie Taylor
320df7da2b
Use separate samples for scrolling to top and scrolling to previous 2024-07-12 21:01:19 +09:00
Jamie Taylor
ad2b354d9c
Update sample looping behaviour to better suit new sample 2024-07-12 21:01:19 +09:00
Bartłomiej Dach
152e2d0d60
Merge pull request #28831 from peppy/tooltips
Add tooltips to summary timeline display
2024-07-12 12:54:03 +02:00
Bartłomiej Dach
217b01d303
Apply tooltip to bookmark pieces too
Bookmarks don't show on real beatmaps, but they do show in test scenes
(namely `TestSceneEditorSummaryTimeline`).

Also does some more changes to adjust the markers to the latest updates
to other markers.
2024-07-12 11:12:20 +02:00
Dean Herbert
2453e2fd00
Fix nullability issue 2024-07-12 18:11:23 +09:00
Bartłomiej Dach
5e00995948
Merge branch 'master' into tooltips 2024-07-12 11:01:03 +02:00
Bartłomiej Dach
518dc17518
Merge pull request #28788 from bdach/timeline-redesign
Redesign editor timelines to address most frequent user complaints
2024-07-12 10:58:59 +02:00
Bartłomiej Dach
452fbed681
Merge pull request #28808 from frenzibyte/fix-all-notifications
Fix confirm exit dialog potentially showing incorrect number of ongoing operations
2024-07-12 10:56:29 +02:00
Dean Herbert
4be5d056c5
Reduce opacity of centre marker slightly 2024-07-12 17:23:48 +09:00
Dean Herbert
d2cb07b157
Add a bit more padding between node overlays and hitobjects in timeline 2024-07-12 17:22:36 +09:00