Commit Graph

18 Commits

Author SHA1 Message Date
Bartłomiej Dach
f30dfcb728
Fix ruleset medals not displaying due to deserialisation failure
🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦🤦

Reported in
https://discord.com/channels/188630481301012481/188630652340404224/1216812697589518386.
2024-03-11 21:34:10 +01:00
Bartłomiej Dach
48bf9680e1
Add new structures for receiving new medal data 2024-02-20 16:31:31 +01:00
Bartłomiej Dach
4a314a8e31
Namespacify data structures used in websocket communications 2024-02-20 16:31:31 +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
c463aa5ba1
xmldoc everything 2024-01-25 14:47:29 +01:00
Bartłomiej Dach
de52f0a80c
Decouple notifications websocket handling from chat operations
This is a prerequisite for https://github.com/ppy/osu/pull/25480.

The `WebSocketNotificationsClient` was tightly coupled to chat specifics
making it difficult to use in the second factor verification flow.
This commit's goal is to separate the websocket connection and message
handling concerns from specific chat logic concerns.
2024-01-25 14:47:29 +01:00
Dean Herbert
27c497145f Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0 2022-12-16 18:16:26 +09:00
Dean Herbert
6a3665a6fd Remove excess logging on WebSocketNotificaitonsClient 2022-11-12 22:09:27 +09:00
Dan Balasescu
fdca3c2d1c Rename method for consistency 2022-11-07 14:35:42 +09:00
Dan Balasescu
67e99b5344 Lookup channels before calling HandleJoinedChannel() 2022-11-07 14:34:55 +09:00
Dan Balasescu
cd8402df72 Print event type to logs 2022-11-07 12:11:50 +09:00
Dan Balasescu
cf03001c83 Better handling for joining channels with only ID 2022-11-07 11:52:07 +09:00
Dan Balasescu
e3adf5a985 Handle channel parts 2022-11-07 11:36:55 +09:00
Dan Balasescu
d426977f03 Handle channel joins 2022-11-04 20:11:42 +09:00
Dan Balasescu
72745656e7 Remove StartChat()/chat enablement 2022-11-04 18:48:34 +09:00
Dan Balasescu
58396d49dc Fix handling of local echo deduplication 2022-11-04 18:44:22 +09:00
Dan Balasescu
d3173ab1bd Remove weird cast 2022-10-28 18:54:34 +09:00
Dan Balasescu
527b1d9db1 Generalise + add polling-style for usage in tests 2022-10-28 17:53:28 +09:00