1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 03:07:26 +08:00
Commit Graph

43341 Commits

Author SHA1 Message Date
Bartłomiej Dach
38fc6f70f6
Add tolerance when drag-scrolling editor timeline
Closes https://github.com/ppy/osu/issues/28983.

While the direct cause of this is most likely mouse confine in
full-screen, it shouldn't/can't really be disabled just for this,
and I also get this on linux in *windowed* mode.

In checking other apps, adding some tolerance to this sort of
drag-scroll behaviour seems like a sane UX improvement anyways.
2024-07-23 11:10:18 +02:00
Bartłomiej Dach
57fa502786
Fix editor UI dimming when hovering over expanded part of toolboxes
Closes https://github.com/ppy/osu/issues/28969.
2024-07-22 11:57:46 +02:00
Bartłomiej Dach
dd8be62d07
Merge pull request #28849 from frenzibyte/custom-profile-colour
Add custom hue support to user profile overlay
2024-07-22 09:41:32 +02:00
Bartłomiej Dach
088b8aff11
Merge pull request #28881 from smoogipoo/fix-judgement-cut
Fix judgement animation getting cut early
2024-07-22 09:24:57 +02:00
Dean Herbert
401c0fe2bf
Merge branch 'master' into fix-pause-input-handling 2024-07-20 15:23:34 +09:00
Dean Herbert
d914b990f3
Update framework 2024-07-20 14:08:00 +09:00
Salman Ahmed
818b60a3d8 Fix pause overlay hiding input from ruleset input manager
If a key is pressed while the pause overlay is visible, the ruleset input manager will not see it, therefore if the user resumes while the key is held then releases the key, the ruleset input manager will not receive the key up event.
2024-07-19 18:48:35 +03:00
Salman Ahmed
d7651ef387 Add extensive test cases for correct input handling while paused in osu! & non-osu! 2024-07-19 18:48:35 +03:00
Bartłomiej Dach
27000aa8ed
Merge branch 'master' into editor-blah 2024-07-19 13:42:40 +02:00
Dan Balasescu
ad564f31cb
Merge pull request #28947 from peppy/fix-playlist-item-panel
Fix various visuals of playlist beatmap panels
2024-07-19 20:12:40 +09:00
Dean Herbert
c2cc85e6f0
Use purple again for kiai time specifically 2024-07-19 19:59:38 +09:00
Dean Herbert
c4de2bbb60
Ignore "too many ticks" in timeline (triggers in normal cases) 2024-07-19 19:57:47 +09:00
Dean Herbert
5ee645ac8f
Increase opacity of control points slightly 2024-07-19 19:50:21 +09:00
Dean Herbert
d9297438ba
Merge pull request #28900 from smoogipoo/fix-more-tests
Fix more test failures
2024-07-19 19:38:52 +09:00
Dean Herbert
f11f01f9b7
Fix various visuals of playlist beatmap panels
Supersedes https://github.com/ppy/osu/pull/28907.

- Fix border being fat
- Fix thumbnail not masking correctly
- Fix background layer not being correctly fit to the panel
- Dim the main background on hover
- Minor tweaks to dimming
2024-07-19 19:26:04 +09:00
Dan Balasescu
5af39aad00
Add beatmap name to log string
Makes it easy to compare this line versus the one in
OsuGame.PresentBeatmap(). At the moment it's just GUID which is... not
useful!
2024-07-19 19:02:41 +09:00
Dean Herbert
0f29ed618a
Don't attempt to clear the carousel during realm blocking operation 2024-07-19 17:39:47 +09:00
Dean Herbert
0560214d5b
Fix beatmap carousel performance regression with large databases 2024-07-19 17:39:47 +09:00
Dean Herbert
fb5a1ecb4e
Merge pull request #28944 from bdach/mania-crash
Fix crash when adding mania notes right after changing timing point
2024-07-19 16:58:54 +09:00
Bartłomiej Dach
4dd225fdc8
Fix compose blueprint container not unsubscribing from event
Closes https://github.com/ppy/osu/issues/28938.

This is related to reloading the composer on timing point changes in
scrolling rulesets. The lack of unsubscription from this would cause
blueprints to be created for disposed composers via the
`hitObjectAdded()` flow.

The following line looks as if a sync load should be forced on a newly
created placement blueprint:

    da4d37c4ad/osu.Game/Screens/Edit/Compose/Components/ComposeBlueprintContainer.cs (L364)

however, it is not the case if the parent
(`placementBlueprintContainer`) is disposed, which it would be in this
case. Therefore, the blueprint stays `NotLoaded` rather than `Ready`,
therefore it never receives its DI dependencies, therefore it dies on
an `EditorBeatmap` nullref.
2024-07-19 08:32:36 +02:00
Dan Balasescu
30b5825549
Merge pull request #28942 from bdach/aaaaaaaaaaaaaaaaaaaaaaaa
Fix skipping to next track not working
2024-07-19 15:23:24 +09:00
Bartłomiej Dach
9fe6354afc
Fix backwards conditional 2024-07-19 07:32:36 +02:00
Bartłomiej Dach
a06bcd74c7
Merge branch 'master' into fix-beatmap-atttributes-display 2024-07-19 07:04:01 +02:00
Salman Ahmed
2ad8eeb918 Fix beatmap attributes display in mod select recreating star difficulty bindable every setting change 2024-07-19 03:25:26 +03:00
Salman Ahmed
a570949459 Fix selection box initialy visible despite no items selected 2024-07-19 03:00:44 +03:00
Dan Balasescu
a7e110f669
Don't rely on single-use properties 2024-07-18 19:07:02 +09:00
Dean Herbert
70985d3b22
Remove margin completely 2024-07-18 19:01:52 +09:00
Dean Herbert
c9517aeebf
Fix tab extension dropdown having dead non-clickable hover area
Closes https://github.com/ppy/osu/issues/28899.
2024-07-18 18:37:07 +09:00
Salman Ahmed
5317086171 Split content recreation methods 2024-07-18 00:26:37 +03:00
Salman Ahmed
d61a72b8fb Explicitly define Hue rather than implicitly provide it by enum value 2024-07-18 00:26:24 +03:00
Salman Ahmed
4eb4d35e2f Make UpdateColours method protected 2024-07-18 00:26:24 +03:00
Salman Ahmed
102da0f98c Remove incorrect [CanBeNull] attribute 2024-07-17 23:58:38 +03:00
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
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
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
ad2db3f853
Merge pull request #28882 from peppy/update-framework
Update framework
2024-07-16 12:28:51 +02:00
Dean Herbert
f1325386f0
Fix summary timeline timing points having x position applied twice 2024-07-16 18:32:54 +09:00
Dean Herbert
4ad7d900c1
Fix incorrect editor screen padding 2024-07-16 18:20:33 +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
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
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