1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-30 22:22:59 +08:00
Commit Graph

3279 Commits

Author SHA1 Message Date
Dean Herbert
91fa2e70d8
Revert name change 2025-01-14 20:41:18 +09:00
Dean Herbert
3523a2fe61
Merge branch 'master' into api-startup-state 2025-01-14 20:39:05 +09:00
Dan Balasescu
f2b7984e5a
Merge pull request #31507 from peppy/api-startup-user
Ensure API starts up with `LocalUser` in correct state
2025-01-14 20:36:55 +09:00
Plextora
31d7c6a22e
Merge branch 'master' into colour-for-friend-lb 2025-01-14 05:57:44 -05:00
Dean Herbert
b4d054fdc0
Merge pull request #31444 from smoogipoo/friend-presence-2
Add notifications for when friends go online or offline
2025-01-14 18:58:19 +09:00
Dean Herbert
55ae0403d8
Ensure API state is Connecting immediately on startup when credentials are present
Currently, there's a period where the API is `Offline` even though it is
about to connect (as soon as the `run` thread starts up).

This can cause any `Queue`d requests to fail if they arrive too early.

To avoid this, let's ensure the `Connecting` state is set as early as
possible.
2025-01-14 18:18:53 +09:00
Dan Balasescu
156207d347
Remove unused using 2025-01-14 17:54:40 +09:00
Dan Balasescu
51c7c218bf
Simplify operations on local list 2025-01-14 17:52:26 +09:00
Dean Herbert
f6073d4ac0
Ensure API starts up with LocalUser in correct state
I noticed in passing that in a very edge case scenario where the API's
`run` thread doesn't run before it is loaded into the game, something
could access it and get a guest `LocalUser` when the local user actually
has a valid login.

Put another way, the `protected HasLogin` could be `true` while
`LocalUser` is `Guest`.

I think we want to avoid this, so I've moved the initial set of the
local user earlier in the initialisation process.

If this is controversial in any way, the PR can be closed and we can
assume no one is ever going to run into this scenario (or that it
doesn't matter enough even if they did).
2025-01-14 17:43:43 +09:00
Dean Herbert
3c913c9f6d
Merge branch 'master' into colour-for-friend-lb 2025-01-14 16:34:05 +09:00
Dean Herbert
94ea003d90
Update game ScrollContainer usage in line with framework changes
See https://github.com/ppy/osu-framework/pull/6467.
2025-01-11 01:42:59 +09:00
Dan Balasescu
7268b2e077
Add separate path for friend presence notifications
It proved to be too difficult to deal with the flow that clears user
states on stopping the watching of global presence updates. It's not
helped in the least that friends are updated via the API, so there's a
third flow to consider (and the timings therein - both server-spectator
and friends are updated concurrently).

Simplest is to separate the friends flow, though this does mean some
logic and state duplication.
2025-01-09 17:31:01 +09:00
Dan Balasescu
f4d83fe685
Keep friend states when stopping watching global activity 2025-01-09 13:23:16 +09:00
Dean Herbert
d5f2bdf6cd
Appease message pack new inspections 2025-01-08 03:13:29 +09:00
Dan Balasescu
45e0adcd25
Add config option 2025-01-07 19:32:30 +09:00
Dan Balasescu
51b62a6d8e
Display notification on friend presence changes 2025-01-07 19:12:33 +09:00
Dean Herbert
4f1a6b4688
Always show dialog when clicking supporter icon before opening browser
I managed to do this by accident three times today while testing using
the dashboard display, so it's time to action on it.

Touched on in
https://github.com/ppy/osu/discussions/30740#discussioncomment-11345996.
Was also mentioned recently in discord or another discussion explicitly
but I can't find that.
2025-01-06 17:51:04 +09:00
Plextora
47afab8a32 Use yellow instead of pink 2024-12-23 12:47:50 -05:00
Plextora
b3056d6114 Change score background to pink if user is friended 2024-12-22 16:58:00 -05:00
Dean Herbert
09fc30e377
Hide !mp commands from tournament streaming chat 2024-12-16 17:39:27 +09:00
Bartłomiej Dach
d8d5a00f3b
Merge branch 'master' into filter-playing-rooms 2024-12-12 13:06:22 +09:00
Dean Herbert
a3998fbd52
Merge branch 'master' into better-room-status 2024-12-11 18:06:55 +09:00
Bartłomiej Dach
3352571f2a
Add ability to filter out currently playing rooms
Addresses https://osu.ppy.sh/community/forums/topics/2013293?n=1.
2024-12-11 13:24:08 +09:00
Bartłomiej Dach
637fe07b31
Rename Room{Status -> Mode}Filter
I need the "status" term free for an upcoming change. And web calls this
parameter "mode" as well:

	642e973f91/app/Models/Multiplayer/Room.php (L184-L199)

so it works in my head.
2024-12-11 12:36:42 +09:00
Huo Yaoyuan
68f4fa5a57 Turn off CA1507 2024-12-03 00:00:31 +08:00
Huo Yaoyuan
fa3c95c296 Merge branch 'master' 2024-11-30 01:07:08 +08:00
Huo Yaoyuan
fced254594 Enable selected rules for usage 2024-11-28 22:33:03 +08:00
Bartłomiej Dach
2e6f43a75d
Merge branch 'master' into close-playlists 2024-11-28 14:01:36 +01:00
Huo Yaoyuan
13d7c6a2d8 Enable recommended rules for maintainability 2024-11-28 20:41:41 +08:00
Bartłomiej Dach
98a156ae2d
Merge pull request #30874 from peppy/chat-order
Sort public chat channels alphabetically, private channels based on recent messages
2024-11-28 12:46:14 +01:00
Dean Herbert
573aaf6637
Merge pull request #27128 from frenzibyte/user-statistics-provider
Introduce `UserStatisticsProvider` component and add support for respecting selected ruleset
2024-11-27 13:13:47 +09:00
Dan Balasescu
af0c6fc51b
Add Room.HasEnded helper method 2024-11-26 21:09:28 +09:00
Salman Alshamrani
42c68ba43e Add inline comment 2024-11-26 01:28:58 -05:00
Salman Alshamrani
b76460f100 Schedule the thing
Queuing up requests on change to `api.LocalUser` is bad because the API
state is updated after `LocalUser` is updated, therefore we have to
schhhhhedullllllllleeeeeeeeeeeeeeee.
2024-11-26 01:26:44 -05:00
Dean Herbert
17347563ee
Fix incorrect null handling 2024-11-26 13:25:57 +09:00
Bartłomiej Dach
0a3f3c3210
Add guard against fetching statistics for non-legacy rulesets 2024-11-25 13:14:22 +01:00
Bartłomiej Dach
1410e8837a
Merge branch 'master' into better-room-status 2024-11-25 09:48:40 +01:00
Salman Alshamrani
631bfadd68 Replace event subscription with callback in UserStatisticsWatcher
Also no longer cancels previous API requests as there's no actual need to do it.
2024-11-24 04:11:13 -05:00
Salman Alshamrani
956da0383f
Merge branch 'master' into multiplayer-remove-expired-item-removal 2024-11-23 22:19:21 -05:00
Dan Balasescu
82a63228de
Improve handling of multiplayer room status 2024-11-22 21:21:04 +09:00
Bartłomiej Dach
8b68859d9d
Fix Room.CopyFrom() skipping a field
Was making the close button not display when creating a room anew.
2024-11-22 09:57:57 +01:00
Dan Balasescu
39504c348d
Cleanup CopyFrom() method
Though the code appears slightly different, it should be semantically
equivalent. APIUser equality is implemented on `Id` and `Host` should
never transition from non-null to null.
2024-11-22 17:22:30 +09:00
Dan Balasescu
e59ac9e7c8
No longer remove expired playlist items from Room model 2024-11-22 17:19:26 +09:00
Bartłomiej Dach
3b2f43012e
Merge branch 'master' into close-playlists 2024-11-22 09:02:41 +01:00
Dan Balasescu
f738fb2a89
Populate rooms as soon as they're joined 2024-11-21 23:48:04 +09:00
Dan Balasescu
7018672275
Fix playlist room status resetting on enter 2024-11-21 18:11:41 +09:00
Bartłomiej Dach
a679f0736e
Add ability to close playlists within grace period after creation 2024-11-20 12:36:12 +01:00
Dean Herbert
6fba6de4dc
Merge branch 'master' into multiplayer-remove-cmc-and-composite 2024-11-20 17:24:55 +09:00
Salman Alshamrani
0b52080a52 Handle logged out user 2024-11-18 06:47:22 -05:00
Salman Alshamrani
74daf85e48 Replace bindable with an event 2024-11-18 06:47:22 -05:00