1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 01:23:44 +08:00
Commit Graph

598 Commits

Author SHA1 Message Date
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
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
wooster0
cf5f0a2bdc Make chat commands case-insensitive
Would be nice if I accidentally have caps lock enabled and write "/HELP" it still works.
2024-01-04 15:06:10 +09:00
Bartłomiej Dach
cb823f367f
Simplify UserActivity for serialisability over the wire
Up until now, the `UserActivity` class hierarchy contained things like
beatmap info, room info, full replay info, etc. While this was
convenient, it is soon going to be less so, as the data is sent over the
wire to the spectator server so that the user's activity can be
broadcast to other clients.

To counteract this without creating a second separate and slimmed-down
class hierarchy, slim down the `UserActivity` structure to contain the
bare minimum amounts of data such that the structures aren't overly
large and complex to serialise, but also contain enough data that they
can be used by receiving clients directly without having to do beatmap
or score lookups.
2023-12-06 18:52:26 +01:00
Susko3
abb4c943a7 Rename to more readable names 2023-12-01 18:35:57 +01:00
Susko3
d3517998cf Use common Overlaps() logic
This actually fixes the problem and makes the tests pass
2023-12-01 01:11:10 +01:00
Susko3
30bdd2d4c0 Extract Overlaps() logic to accept generic index and length 2023-12-01 01:07:23 +01:00
ratinfx
aa87e0a44d HitObject Selection logic and separation for gamemodes
+ moved time_regex into EditorTimestampParser
2023-11-07 01:36:58 +01:00
Bartłomiej Dach
d3cc6dbaa0
Fix link protocol allowlist allowing too much 2023-09-18 09:20:24 +02:00
Lukynka CZE
9b8fdcbcdc somehow accidentally removed backslashes 2023-09-14 17:55:53 +02:00
Lukynka CZE
66751ef5bb add regex 2023-09-14 17:46:29 +02:00
Bartłomiej Dach
142abe1fd0
Make highlight messages important in order to trigger window flash 2023-08-22 09:01:32 +02:00
tsrk
96c58c86ea
refactor: make flashing available in Notifications
This will be used in `NotificationOverlay` when a `Notification` is posted.
2023-08-21 23:36:54 +02:00
tsrk
bdac052631
refactor(MessageNotifier): apply changes required by framework 2023-08-21 15:29:41 +02:00
tsrk
548e6dc23b
feat(MessageNotifier): flash window on PM or mention 2023-08-19 03:04:09 +02:00
Bartłomiej Dach
cef0dd1d61
Merge pull request #24190 from novialriptide/emoji-fix
Replace emoji unicode with `[emoji]`
2023-07-13 22:05:12 +02:00
Andrew Hong
ea6704ca1d Move parsing 2023-07-13 04:41:53 -04:00
Andrew Hong
3d17a03dc6 Emojis now represented as "[emoji]" 2023-07-13 03:52:22 -04:00
Andrew Hong
d62cfc1616 Parse emoji to an empty string 2023-07-12 20:24:09 -04:00
Andrew Hong
b05ba8c501 Remove unused code 2023-07-12 06:32:33 -04:00
Andrew Hong
b3b6df6e30 Remove emoji regex 2023-07-12 06:19:48 -04:00
Susko3
2dcd790442 Resolve Clipboard via DI 2023-07-11 11:42:31 +02:00
Bartłomiej Dach
91e286560e
Fix search being broken in channel listing "channel" 2023-07-09 21:51:08 +02:00
Bartłomiej Dach
d135b3f6f5
Add message length limit field to API response 2023-07-09 21:27:33 +02:00
Jamie Taylor
fdb572fdea
Add more/different notification sounds 2023-07-07 01:51:57 +09:00
Bastian Pedersen
ea87000539 Localise chat related notifications 2023-06-28 21:11:56 +02:00
Dean Herbert
55ab27c5b6
Merge pull request #24022 from frenzibyte/fix-open-user-profile-argument
Fix `OpenUserProfile` links having multiple argument types
2023-06-26 13:13:05 +09:00
Salman Ahmed
9a5f033a0f Change OpenUserProfile argument type to always use IUser 2023-06-24 18:12:35 +03:00
Dean Herbert
0ab0c52ad5 Automated pass 2023-06-24 01:00:03 +09:00
Salman Ahmed
62cb6a98ca Remove redundant nullable suppression directives 2023-06-07 08:20:41 +03:00
Bartłomiej Dach
a677d87d39
Touch up inline comments 2023-05-20 19:29:59 +02:00
Dimmitsaras
7ac6688a0f Chat message notifications always play on unfocused window 2023-05-17 18:34:39 +03:00
Joseph Madamba
afb66d8af4 Make user activity class names more specific 2023-02-12 12:32:17 -08:00
Dean Herbert
4f7d26b776 Actually apply new parameter 2023-02-10 18:29:39 +09:00
Dean Herbert
ee65c65893 Attempt to fix channel join / leave loop
I don't have a solid way to repro the issue, but this should hopefully
help in resolving it. Either way, I think this change brings more
correct behaviour (if a websocket message comes through that we have
left the channel, I don't believe we should be sending a request to
leave that channel again).
2023-02-08 11:31:30 +09:00
Joseph Madamba
97bd76efc6 Add ability to easily mention users in chat by right clicking username 2023-01-17 10:01:07 -08:00
Salman Ahmed
115cb0d297 Fix channel manager test scene not waiting for notifications client connection 2023-01-12 23:14:23 +03:00
Salman Ahmed
98390ea2a8 Fix condition flipped 2023-01-09 21:33:08 +03:00
Dean Herbert
22d0b34623 Remove flag causing intiialisation to only run once ever 2023-01-09 16:38:37 +09:00
Dean Herbert
13c3d2c254 Fix retry loop for channel initialisation resulting in request pile-up
Closes #22060.
2023-01-09 16:15:31 +09:00
Dean Herbert
464f251c0c
Merge branch 'master' into beatmap-set-link-genre-language 2023-01-06 17:09:06 +08:00
Joseph Madamba
70dbb8edac Fix stand alone chat display textbox not binding to local channel 2022-12-29 01:37:37 -08:00
Joseph Madamba
c326745f96 Save / sync chat text box messages per channel 2022-12-28 16:09:40 -08:00
Berkan Diler
08d2fbeb8e Use new ArgumentNullException.ThrowIfNull throw-helper API 2022-12-22 21:27:59 +01:00
Joseph Madamba
01f09529a8 Link beatmap set genre and language to listing filters 2022-12-19 22:54:33 -08: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
Dan Balasescu
8709b1f2ea Immediately send ack request when joining new channels 2022-12-07 14:24:20 +09:00
Dan Balasescu
eea9bd3898
Merge pull request #21463 from peppy/fix-chat-system-message-ordering
Fix system messages appearing out of order in chat display
2022-12-02 17:39:20 +09:00
Dean Herbert
b1ce93e7bf Add fallback stable sort to avoid any change of misordered local messages 2022-11-30 16:55:39 +09:00