1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-17 03:42:53 +08:00
Commit Graph

1591 Commits

Author SHA1 Message Date
Dan Balasescu
4ff6879b85 Fix incorrect copied room end dates 2022-03-15 11:30:57 +09:00
Dan Balasescu
885cb3ce5b Add current screen checks for added safety 2022-03-10 20:03:02 +09:00
Dean Herbert
2d135e5be6 Explain purpose of Schedule call in MultiplayerPlayer.onResultsReady 2022-03-10 19:56:13 +09:00
Dan Balasescu
45d537ef72 Fix potential multiplayer crash with async disposal 2022-03-10 18:50:53 +09:00
Dean Herbert
94ff6a338f
Merge branch 'master' into scoreprocessor-rework 2022-03-09 23:04:18 +09:00
Dan Balasescu
4839bd8044
Notify if copying room fails
Co-authored-by: Dean Herbert <pe@ppy.sh>
2022-03-09 16:47:47 +09:00
Dan Balasescu
b07a1e8d09 Fix unable to copy playlist rooms without first opening 2022-03-09 15:38:00 +09:00
Dan Balasescu
f1c40bd9ed Rework GetScore() method signatures + implementations
Rename legacy-facing overload to mention as much
2022-03-08 22:30:44 +09:00
Dan Balasescu
5b6b8d1fa9 Remove GetStandardisedScore() proxy method 2022-03-08 21:49:41 +09:00
Dan Balasescu
387ae59bc4 Fix nullref in tests 2022-02-25 16:12:25 +09:00
Dan Balasescu
48ed9c6144 Enable high chat polling rate 2022-02-25 16:03:56 +09:00
Dan Balasescu
f9d9ad388b Add chat display to multiplayer spectator screen 2022-02-25 16:03:28 +09:00
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Dan Balasescu
7193bc8554 Fix playlists comparing mod equality via APIMod 2022-02-24 17:04:16 +09:00
Dean Herbert
bb1aa032bd Combine SelectedItem and CurrentPlaylistItem into same storage 2022-02-24 16:21:20 +09:00
Dean Herbert
c6d78b9325 Fix several oversights in data linking causing drawable rooms not updating as expected 2022-02-24 16:12:15 +09:00
Dan Balasescu
71a012bea6
Don't update count twice immediately
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-23 13:42:47 +09:00
Dan Balasescu
2bea485af8 Fix currently playing text not showing in lounge 2022-02-23 13:37:47 +09:00
Dean Herbert
71ae425fb2 Merge branch 'master' into rooms-request-faster 2022-02-22 15:45:05 +09:00
Dean Herbert
057fd6c352 Add mention of StarRatingRangeDisplay fallback scenario being wrong for multiplayer 2022-02-22 15:37:42 +09:00
Dean Herbert
cde3d9c08b Change precedence order to favour playlist as a source for beatmap count 2022-02-22 15:15:57 +09:00
Dan Balasescu
a676acd80d
Merge pull request #16945 from peppy/three-column-playlist
Update playlist room display to a three column layout
2022-02-22 12:21:56 +09:00
Dean Herbert
2aa0364092 Fix null reference in tests during attempted ruleset filtering 2022-02-22 00:14:33 +09:00
Dean Herbert
655b23f408 Update playlist room display to a three column layout
Similar to the changes made to multiplayer.
2022-02-21 19:46:33 +09:00
Dean Herbert
c7e9cf904b Fix incorrect null check on now-bindable DifficultyRange 2022-02-21 19:38:26 +09:00
Dean Herbert
ffa5291b74 Add fallback handling for item count to support different request types 2022-02-21 19:37:36 +09:00
Dean Herbert
b5348e0407 Update ruleset filtering to use newly provided array return 2022-02-21 19:05:32 +09:00
Dean Herbert
b43008b9f6 Add cover and count handling from newer response version 2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c Handle API returned difficulty range for rooms 2022-02-21 19:05:19 +09:00
Dean Herbert
02a8500500 Ensure spotlights always show at the top of the lounge listing
As proposed at https://github.com/ppy/osu/discussions/16936. Spotlights
are intended to have focus, so let's make sure they are the first thing
the user sees for the time being.
2022-02-21 18:01:46 +09:00
Dean Herbert
2a1edcdf73
Merge branch 'master' into remove-playlistitem-beatmap 2022-02-17 17:19:26 +09:00
Stedoss
aac1c53b06 Remove creator name from playlist item panel beatmap text 2022-02-17 03:04:16 +00:00
Dan Balasescu
edd31bf3aa Revert styling change 2022-02-16 15:51:18 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe Fix incorrect playlist item <-> availability tracker logic
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
afcb7a4630 Make DrawableRoomPlaylistItem look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
73ce1b324e Make DrawableRoom look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
5b765581d8 Fix free mod selection not showing allowed mods 2022-02-15 16:28:15 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Dean Herbert
8da0800d7f Update ChangeFocus usage in line with framework changes 2022-02-15 02:47:35 +09:00
Dan Balasescu
18251c9285 Clean up SpectatorScreen based on suggestions 2022-02-09 12:20:07 +09:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
45b3f472ab Merge branch 'master' into spectator-state-rework 2022-02-08 19:51:50 +09:00
Dan Balasescu
c2416c490e Fix crash on disconnection during multi-spectate 2022-02-08 11:29:39 +09:00
Dan Balasescu
d5269ba05b Merge branch 'fix-spectator-restart-crash' into spectator-state-rework 2022-02-04 17:59:18 +09:00
Dan Balasescu
0473c6c52f Also handle null SelectedItem for safety 2022-02-04 17:53:51 +09:00
Dan Balasescu
b41655d5b9 Fix crash when gameplay starts while in multi-spectator screen 2022-02-04 17:47:41 +09:00
Dan Balasescu
f285060148 Fix MultiSpectatorScreen not continuing to results 2022-02-03 21:50:19 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Dan Balasescu
b5fb3b7dae Fix crash when selecting swap mod as freemod 2022-02-02 18:42:22 +09:00
Dean Herbert
d065e32ca1 Fix crash due to MatchLeaderboardScores not having populated rulesets 2022-02-02 13:23:49 +09:00
Dan Balasescu
781cb9f18d Move HasPassed/HasFailed into GameplayState 2022-02-01 14:46:24 +09:00
Dan Balasescu
f3d4756c7f
Merge pull request #16713 from frenzibyte/fix-spectator-gcc-state-2
Fix multiplayer spectator occasionally rewinding time unexpectedly
2022-01-31 18:33:08 +09:00
Dan Balasescu
a49a9ed0a0 Fix incorrect invoke 2022-01-31 17:19:04 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Salman Ahmed
3ec193d47e Fix spectator clock container incorrectly starting catch-up clock 2022-01-30 01:46:10 +03:00
Salman Ahmed
4f4f60248f Add failing test case 2022-01-30 01:46:10 +03:00
Dean Herbert
daea13f491 Simplify flow of cancellation token 2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6 Remove fetch callback logic completely 2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
Dean Herbert
c44af4853d Add thread safety to PollingComponent.Poll implementations 2022-01-28 13:43:53 +09:00
Jamie Taylor
493a970ed5
Remove unused AudioManager 2022-01-19 14:08:21 +09:00
Dean Herbert
5601f6f1fe Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-17 12:29:02 +09:00
Dean Herbert
671a3d47b8 Move bindable binding to LoadComplete and remove unnecessary unbind 2022-01-15 21:20:27 +09:00
Dean Herbert
ea8e49c543 Reorder private/protected methods 2022-01-15 21:19:02 +09:00
Jamie Taylor
7e9b5dd150
Add audio feedback for host change in multiplayer 2022-01-14 18:11:00 +09:00
Dean Herbert
f4a1fa85a1 Fix incorrect conditional for deciding whether scores can be deleted from UI 2022-01-12 17:49:10 +09:00
Bartłomiej Dach
c5ac996e3f
Restore ruleset using current playlist item on resuming room sub screen
Ensures that the ruleset selected at the multiplayer song selection
screen does not overwrite the current playlist item's ruleset.
2022-01-08 14:56:01 +01:00
Dean Herbert
675bdd3213 Fix MultiplayerMatchSubScreen mutating mods outside of bindable lease
As seen at https://github.com/peppy/osu/runs/4674501626?check_suite_focus=true.
2022-01-01 12:13:59 +09:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Dan Balasescu
a43cc20ae2 Apply changes to GameplayCompleted from reviews 2021-12-24 21:58:20 +09:00
Dan Balasescu
c6854b37c8 Unbind event on disposal 2021-12-24 21:58:09 +09:00
Dan Balasescu
727335dcad Improve reliability of exiting gameplay 2021-12-24 14:23:09 +09:00
Dean Herbert
a88800c99a
Merge pull request #16198 from smoogipoo/fix-current-item-before-population
Fix delete button showing on current item before beatmap retrieval
2021-12-22 13:15:07 +09:00
Dan Balasescu
4ce61d4260 Directly bind to room updates
Currently doesn't really cause any difference, however it may in the
future if we decide the queueing algorithm shouldn't update PlaylistOrder
when an item has been played.
2021-12-21 18:40:29 +09:00
Dan Balasescu
a34d24fb20 Disallow expired items from showing delete button
This isn't possible in practice since expired items are removed from the
queue list, but this helps out in tests.
2021-12-21 18:37:42 +09:00
Dan Balasescu
4ba5a939db
Merge pull request #16178 from bdach/lounge-background-screen-correct
Fix lounge screen showing information sourced from wrong playlist item
2021-12-21 17:36:23 +09:00
Dan Balasescu
51b7e920c0 Fix delete button being able to show on current item 2021-12-21 16:57:58 +09:00
Dean Herbert
d08b66a5ff Also add logging to OnlinePlayScreen 2021-12-21 15:07:06 +09:00
Dean Herbert
ddadf3c4b5 Add logging of MultiplayerMatchSubScreen exiting from room loss 2021-12-21 14:53:24 +09:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item 2021-12-20 13:32:42 +01:00
Dean Herbert
6907a9a3cc Name some screen stacks for better logging context 2021-12-20 18:24:14 +09:00
Dean Herbert
cd8dfac625
Merge pull request #16097 from smoogipoo/forego-resetting-spectate-state
Don't reset spectating state if spectator exited after gameplay finishes
2021-12-15 22:30:41 +09:00
Dean Herbert
33cf4ba7f6
Merge pull request #16075 from smoogipoo/prevent-idle-transition-during-load
Add AbortGameplay() to fix state transition race conditions during multiplayer load
2021-12-15 19:59:19 +09:00
Dean Herbert
9e82a3e79a Merge branch 'master' into forego-resetting-spectate-state 2021-12-15 18:05:06 +09:00
Dan Balasescu
18d7b79207 Don't reset spectating state if gameplay is finished 2021-12-15 17:40:30 +09:00
Dan Balasescu
740a6f16c7 Fix exception when updating the room's visual playlist 2021-12-15 16:53:25 +09:00
Dan Balasescu
9ade8069a1 Rename to AbortGameplay() and handle additional states 2021-12-15 06:40:28 +09:00
Dan Balasescu
2f1dc91211 Add AbortLoad() method to abort gameplay loads 2021-12-14 11:30:42 +09:00
Dan Balasescu
70045494ba Re-simplify code by removing BeatmapManager event instead 2021-12-13 16:09:54 +09:00
Dean Herbert
c097dc8048 Add note about reasoning behind MultiplayerClient.GetAPIBeatmap call 2021-12-13 13:39:32 +09:00
Dean Herbert
3ea07b426b
Merge branch 'master' into multiplayer-local-beatmap-query 2021-12-13 13:27:34 +09:00
Dan Balasescu
2cd2b10ce1 Fix results sometimes showing incorrect score position 2021-12-13 06:54:57 +09:00
Dan Balasescu
bf3abb2455
Merge branch 'master' into multiplayer-local-beatmap-query 2021-12-12 16:37:41 +09:00
Dan Balasescu
a6e77f172d Add some comments 2021-12-12 16:30:37 +09:00
Dan Balasescu
d6c08fae48 Fix incorrect global beatmap with availability changes 2021-12-11 23:08:21 +09:00
Dan Balasescu
ece2cddb7f Fix DrawableRoomPlaylistItem lookup interfering with tests 2021-12-11 22:51:20 +09:00
Dan Balasescu
25b274c323 Fix starting gameplay too early after import 2021-12-11 22:47:50 +09:00
Dan Balasescu
cdb8237a4b
Merge branch 'master' into pre-realm-score-tidy 2021-12-11 19:25:39 +09:00
Dan Balasescu
6057037e35 Move playlist item beatmap population to MatchSubScreen 2021-12-10 20:08:59 +09:00
Dan Balasescu
e98060ac37
Remove unused using 2021-12-10 17:55:18 +09:00
Dean Herbert
970a9ae074 Add update thread asserts to RoomManager methods 2021-12-10 17:22:24 +09:00
Dean Herbert
3633494509
Merge pull request #16020 from smoogipoo/host-enqueue-2
Add support for enqueueing items in host-only mode, and changing arbitrary playlist items
2021-12-10 16:23:48 +09:00
Dean Herbert
bf1418bafc Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Dan Balasescu
de0f37b08d Separate editing and adding playlist items 2021-12-10 15:26:48 +09:00
Dean Herbert
88670c3b01 Document OpenSongSelection and mark null param 2021-12-10 14:14:22 +09:00
Dean Herbert
612f47bb9f Add the ability to create playlists of 2 weeks ~ 3 months in duration 2021-12-10 13:45:29 +09:00
Dan Balasescu
671582a925 Allow host to enqeue items and items to be edited 2021-12-10 01:15:19 +09:00
Dan Balasescu
048a495115 Add edit button to DrawableRoomPlaylistItem 2021-12-10 01:08:54 +09:00
Dan Balasescu
05aa9635a8 Privatise button again 2021-12-10 00:38:18 +09:00
Dan Balasescu
f9af239ed9 Cleanup duplicated classes in DrawableRoomPlaylistItem 2021-12-09 23:56:49 +09:00
Dean Herbert
538a822760
Merge branch 'master' into multiplayer-playlist-deletion 2021-12-09 19:04:06 +09:00
Dean Herbert
dfe19f3509 Minor code reformatting 2021-12-09 17:53:40 +09:00
Dan Balasescu
0963b00453 Disallow item selection in playlists song select 2021-12-09 17:33:59 +09:00
Dan Balasescu
17d676200b
Xmldoc fixes from code review
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-12-09 17:33:36 +09:00
Dan Balasescu
1a0945daba Siplify condition, allow host to always remove items 2021-12-09 14:33:50 +09:00
Dan Balasescu
8398f86440 Don't consider expired items in visibility check 2021-12-09 04:02:16 +09:00
Dan Balasescu
c34c580ad4 Add client-side + interface implementation 2021-12-09 03:08:59 +09:00
Dan Balasescu
23332995d1 Invert naming of exposed actions 2021-12-09 01:52:59 +09:00
Dan Balasescu
273042aa16 Add virtual method for creating different DrawablePlaylistItem types 2021-12-09 01:49:34 +09:00
Dan Balasescu
3b4833ca8e A bit of cleanup + xmldocs on classes/members 2021-12-09 01:40:16 +09:00
Dan Balasescu
be2dbf42c3 Flatten DrawableRoomPlaylistWithResults into base class 2021-12-09 01:40:16 +09:00
Dan Balasescu
26f6c5e5a5 Remove ctor params from PlaylistsRoomPlaylist 2021-12-09 01:16:37 +09:00
Dan Balasescu
3be4d8b68d Remove ctor params from DrawableRoomPlaylist/DrawablePlaylistItem 2021-12-09 01:04:56 +09:00
Dan Balasescu
beb5d61a42 Separate playlist item deletion to Playlists-specific class 2021-12-08 20:50:25 +09:00
Dan Balasescu
7e236c3a41 Remove unused dependency 2021-12-07 23:36:48 +09:00
Dan Balasescu
52230a6f00
Merge branch 'master' into multiplayer-delayed-playlist-load-broken 2021-12-07 22:45:05 +09:00
Dean Herbert
a8c20368c0
Merge pull request #15976 from smoogipoo/add-modes-to-room-panels
Add match type and queue mode to multiplayer room panels
2021-12-07 22:08:30 +09:00
Dan Balasescu
4683193f09 Move implementation to base class 2021-12-07 20:36:39 +09:00
Dan Balasescu
5ffe702dd6 Add match type and queue mode to multiplayer room panels 2021-12-07 18:57:13 +09:00
Dean Herbert
dea7f2308c Fix participant panels potentially keeping a reference to an old user
If a user leave and then rejoins a multiplayer match while another user
is not at the lobby screen, there is a potential the `ParticipantPanel`
tracking the user will not correctly be recreated to reference the new
instance of the `MultiplayerUser`.

This happens because the `OnRoomUpdated` call is scheduled, which means
it is not running in the background, coupled with the local logic that
relies on `IEquatable(MultiplayerRoomUser)` (which in turn falls back to
a UserID comparison).

Changing this to a reference comparison is the easiest way to resolve
this. Whether we change the `IEquatable` implementation is up for
discussion.

Closes https://github.com/ppy/osu/issues/15970.
2021-12-07 17:24:04 +09:00
Dean Herbert
0ea7a69084 Ensure user is returned to the RoomSubScreen before gameplay is started
This covers the scenario where a user may be at the song select screen
while another user (the room host) starts the match. This was only made
possible with the new queue modes, so is quite a recent regression.
2021-12-06 14:03:52 +09:00
Dean Herbert
a76cfbea21 Add test coverage of incorrect beatmap being used in multiplayer when match started from song select 2021-12-06 14:03:33 +09:00
Dean Herbert
e1897f9998 Don't debounce MultiplayerRoomComposite events
This avoids accidental usage which could result in data being lost or
ignored (as only the last `user` in a single frame would arrive).

This was added specifically to debounce sample playback, but given that
it's only debouncing on a single frame (hardly noticeable) I'm not going
to add back support for that yet. It should be handled by sample
playback concurrency or something more local to the usage.
2021-12-05 01:38:39 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
Bartłomiej Dach
53a6ef22ce
Add null check to resolve inspection 2021-12-04 14:55:35 +01:00
Bartłomiej Dach
b3b239c9a1
Fix test failures due to beatmap lookup logic being active even when model is populated 2021-12-04 13:59:01 +01:00
Dean Herbert
517a344bcc
Merge branch 'master' into new-multiplayer-playlist 2021-12-04 13:16:09 +09:00
Dan Balasescu
d5803e541b Give playlist items a PlayedAt date 2021-12-03 20:25:51 +09:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
e75e209053 Cache and consume IRulesetStore where feasible 2021-12-03 18:16:01 +09:00
Dan Balasescu
487a71312e Split out code so base methods aren't called 2021-12-03 16:40:20 +09:00
Dan Balasescu
0a1304b92a Remove gameplay_order, use existing playlist_order 2021-12-03 15:45:13 +09:00
Dan Balasescu
b75a5b778e Update history list to also sort by gameplay order 2021-12-03 15:05:56 +09:00
Dan Balasescu
933fd49cff Fix missed callbacks due to AddOnce() schedules 2021-12-02 22:33:14 +09:00
Dan Balasescu
9760a2b087 Update MultiplayerQueueList to take advantage of GameplayOrder 2021-12-02 22:33:14 +09:00
Dean Herbert
512818648f Add some more breathing room between tab control and queue content 2021-12-02 16:56:30 +09:00
Dean Herbert
a8e17cb3a5 Add relative size specs so partially on-screen panels still start loading
Without this, panels at the top of the list but not fully on-screen
wouldn't begin their metadata loading process.
2021-12-01 22:46:38 +09:00
Dean Herbert
d262baefad Only query for the owner user metadata in the case it is actually required 2021-12-01 22:43:32 +09:00
Dean Herbert
a0ff86f5e8 Ensure all read and write operations on APIRoom are done on the update thread 2021-12-01 22:43:03 +09:00
Dan Balasescu
e5e2ae8ab4 Fix dangling line post-rebase 2021-12-01 21:36:25 +09:00
Dan Balasescu
e87b0003fb Fix queue mode not being bound to in all cases 2021-12-01 21:35:23 +09:00
Dan Balasescu
ad35f3434b Fix queue list not considering expired items 2021-12-01 21:35:23 +09:00
Dan Balasescu
e2f289eeff Xmldocs 2021-12-01 21:35:23 +09:00
Dan Balasescu
93a7726f4a Remove now-unused parameter 2021-12-01 21:35:23 +09:00
Dan Balasescu
d70355237d Fix selected item not bound 2021-12-01 21:35:23 +09:00
Dan Balasescu
c3dfe10a8a Add new list to match subscreen 2021-12-01 21:35:22 +09:00
Dan Balasescu
1152c4e8e9 Fix tests 2021-12-01 21:35:22 +09:00
Dan Balasescu
7847ce6253 Redesign with tab control 2021-12-01 21:35:22 +09:00
Dan Balasescu
95050d6597 Extract class to file 2021-12-01 21:35:22 +09:00
Dan Balasescu
fc8c8685b8 Add playlist queue tests 2021-12-01 21:35:22 +09:00
Dan Balasescu
e0ca1af9b8 Remove ctor params 2021-12-01 21:35:22 +09:00
Dan Balasescu
bfd2dc28c8 Rename QueueList -> MultiplayerQueueList 2021-12-01 21:35:22 +09:00
Dan Balasescu
6b198ce112 Document simulation 2021-12-01 21:35:22 +09:00
Dan Balasescu
ef170471f0 Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:35:22 +09:00
Dan Balasescu
9806c75743 Implement better round robin algorithm 2021-12-01 21:35:12 +09:00
Dan Balasescu
68bb49fc1e Add QueueList tests 2021-12-01 21:33:48 +09:00
Dan Balasescu
0cb35e8b18 Separate out QueueList 2021-12-01 21:33:48 +09:00
Dan Balasescu
17bc0b51aa Merge branch 'playlist-item-add-owner' into new-multiplayer-playlist 2021-12-01 21:33:48 +09:00
Dan Balasescu
942e48ffbd Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:33:11 +09:00
Dan Balasescu
c38537a51a Initial implementation of MultiplayerPlaylist 2021-12-01 21:32:56 +09:00
Dean Herbert
e4ba66877d Improve transitions when loading new data into a playlist panel 2021-11-30 19:54:26 +09:00
Dean Herbert
fe119da044 Add fetching of beatmap and user data when playlist panels come on screen 2021-11-30 19:52:36 +09:00
Bartłomiej Dach
95373649a4 Skip null items in star rating range display 2021-11-30 19:44:50 +09:00
Bartłomiej Dach
695167a749 Add support for null item display in DrawableRoomPlaylistItem 2021-11-30 19:44:50 +09:00
Bartłomiej Dach
05f7ea6b6d
Remove mentions of "panel" and "direct" from names of old download buttons 2021-11-27 15:08:03 +01:00
Bartłomiej Dach
a043d1e427
Move old beatmap download button to more general namespace 2021-11-27 15:06:57 +01:00
Dean Herbert
b8a47755fa Don't show loading tooltip for now
Should probably be replaced with a loading spinner in the future, don't
really like "loading" tooltips.
2021-11-26 22:54:11 +09:00
Dan Balasescu
e1445dcb05 Only show owner in match subscreen 2021-11-26 17:40:45 +09:00
Dan Balasescu
8be2defd09 Right-align avatar 2021-11-26 17:17:06 +09:00
Dan Balasescu
8541db1e85 Merge branch 'master' into playlist-item-add-owner 2021-11-26 17:13:23 +09:00
Dan Balasescu
1f5d95666e Add owner avatar to multiplayer items 2021-11-25 23:15:29 +09:00
Dan Balasescu
132bb59203 Update working beatmap when returning to match 2021-11-24 19:56:02 +09:00
Dan Balasescu
6363833fb3 Revert unnecessary changes 2021-11-23 16:17:09 +09:00
Dan Balasescu
1f13669636 Don't poll while in room
Fixes timeout in `TestJoinRoomWithoutPassword`, because the 'server' returns
out-of-date data while the `MatchSubScreen` has possible not been entered
yet (and thus hasn't disabled polling itself yet).

Can be tested by adding a `Task.Delay(3000);` at the end of
the `MultiplayerClient.JoinRoom()` task.
2021-11-23 16:14:01 +09:00
Dan Balasescu
69a9fc9732 Fix a few more multiplayer test timeouts
These can be tested by adding a `Task.Delay(3000);` at the end of the
`MultiplayerClient.JoinRoom` task. The reason is typically that
`Client.Room` becomes not-null but the join task still hasn't completed
yet, so e.g. the ready button is still disabled.
2021-11-23 16:07:03 +09:00
Dan Balasescu
4b498c7bd6 Merge branch 'master' into multi-queueing-modes 2021-11-22 07:46:45 +09:00
Dan Balasescu
d397524878
Merge pull request #15676 from peppy/multiplayer-incorrect-beatmap-error
Show better error message when selecting an unavailable beatmap during multiplayer room creation
2021-11-19 18:59:46 +09:00
Dan Balasescu
de0e8ad822 Merge branch 'master' into multi-queueing-modes 2021-11-19 18:58:15 +09:00
Dan Balasescu
4c8c34b43f Use full name for round robin 2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2 Update queue mode names 2021-11-19 18:28:43 +09:00
Dan Balasescu
12e1142b07 Rename settings section 2021-11-19 15:47:40 +09:00
Dan Balasescu
a922ce2fd9 Remove unnecessary nameofs 2021-11-19 15:45:45 +09:00
Dean Herbert
0c289bf8e5 Remove pointless namespace 2021-11-19 14:46:53 +09:00
Dean Herbert
284e554cbf Only show user displayable portion of server errors when seleting a song in multiplayer 2021-11-19 13:58:03 +09:00
Dean Herbert
c901a4fd7e Show better error message when selecting an unavailable beatmap during multiplayer room creation 2021-11-19 13:28:42 +09:00
Dean Herbert
cb2547a6be Merge branch 'master' into multi-queueing-modes 2021-11-19 13:20:57 +09:00
Dan Balasescu
1dacc50ecb Merge branch 'master' into multi-queueing-modes 2021-11-18 15:16:27 +09:00
Dean Herbert
66c307e0ee Remove usage of key repeat helper method 2021-11-18 13:13:36 +09:00
Dean Herbert
3de8125eac Update UI cases where repeat should not be handled 2021-11-18 13:13:36 +09:00
Dean Herbert
214705f1e5 Adjust error message, take 2 2021-11-17 21:11:37 +09:00
Dan Balasescu
5fb5baa4c9 Adjust error message 2021-11-17 21:06:33 +09:00
Dean Herbert
96e983bbad Disallow playlist item selection at playlist room creation screen
Wasn't being used for anything, confusing that it's even possible.
2021-11-17 14:40:07 +09:00
Dean Herbert
8e9b55ef6d Disallow selection of invalid items 2021-11-17 11:28:43 +09:00
Dean Herbert
6dd684588a Merge branch 'master' into playlist-show-invalid-beatmaps 2021-11-16 17:25:33 +09:00
Dean Herbert
2d125893fc Add tests and disable selection on invalid items 2021-11-16 17:23:52 +09:00
Dean Herbert
6f82e6351f Parse osu-web error text to present invalid items to the user in a more approachable format 2021-11-16 17:14:15 +09:00
Dean Herbert
e78c5d0858 Show loadingLayer before calling CreateRoom
This fixes `TestScenePlaylistsMatchSettingsOverlay` incorrectly leaving
the loading layer visible.
2021-11-16 17:14:15 +09:00
Dean Herbert
aa188d5a52 Add ability for playlist items to be marked as invalid 2021-11-16 17:01:24 +09:00
Dean Herbert
49cdcffa30 Simplify schedule logic in DrawableRoomPlaylistItem 2021-11-16 16:58:44 +09:00
Dan Balasescu
29d0d5badf Rename QueueModes -> QueueMode 2021-11-16 14:53:10 +09:00
Dan Balasescu
5c3141d16a Fix ready button tooltip showing when locally available 2021-11-16 14:48:52 +09:00
Dan Balasescu
459e819a5d Update todo 2021-11-16 00:50:23 +09:00
Dan Balasescu
d27edb3a25 Fix another potential crash from async load 2021-11-16 00:31:46 +09:00
Dan Balasescu
b9e38269e3 Prevent playlist mangling selection if not allowed 2021-11-16 00:31:46 +09:00
Dan Balasescu
8e014ca17a Reverse in-match playlist 2021-11-16 00:31:46 +09:00
Dan Balasescu
eb983ed548 Fix potential crash from playlist updating during async load 2021-11-16 00:02:38 +09:00
Dan Balasescu
f743a3647f Rename APIPlaylistItem -> MultiplayerPlaylistItem 2021-11-15 23:14:27 +09:00
Dean Herbert
5489b19c57 Update PlaylistItem to use IRulesetInfo 2021-11-15 16:13:03 +09:00
Dean Herbert
1988b263c6 One more missed usage.. 2021-11-15 16:02:08 +09:00
Dean Herbert
73cb80d8a4 Update one more missed usage 2021-11-15 16:00:45 +09:00
Dean Herbert
285b161da7 Update other usages of online ID comparisons to use new extension method 2021-11-15 14:44:08 +09:00
Dan Balasescu
3b24ec3643 Merge branch 'master' into multi-queueing-modes 2021-11-12 22:16:04 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dan Balasescu
07a7b4bcdc Merge branch 'master' into multi-queueing-modes 2021-11-11 22:19:30 +09:00
Bartłomiej Dach
9664b9a97c
Fix being able to switch own team by clicking other players' team indicators 2021-11-11 09:01:50 +01:00
Dan Balasescu
aad4b8ff80 Fix ready button remaining enabled for expired items 2021-11-10 18:42:46 +09:00
Dan Balasescu
02efe24e39 Fix checksum not passed to AddPlaylistItem 2021-11-10 18:36:55 +09:00
Dan Balasescu
c7381b4df0 Fix host check
Although the underlying issue is that the host user is not populated.
Not sure whether this should be fixed at all.
2021-11-10 18:36:22 +09:00
Dean Herbert
328c72c358 Fix TeamDisplay not showing after changing to team versus 2021-11-10 13:44:31 +09:00
Dean Herbert
52c740b377 Add failing test showing team display display failure 2021-11-10 13:44:31 +09:00
smoogipoo
c716051530 Merge branch 'master' into multi-queueing-modes 2021-11-08 19:19:50 +09:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
smoogipoo
e6deb0c873 Merge branch 'master' into multi-queueing-modes 2021-11-05 15:57:25 +09:00
Dean Herbert
86540d1fb6 Update existing usages of Author as string to access Username directly 2021-11-04 18:57:54 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
df3c3a32ce Fix unintentionally broken background update logic 2021-11-04 18:07:39 +09:00
Dean Herbert
a5a7181915 Fix unintentionally broken background update logic 2021-11-04 15:35:32 +09:00
Dean Herbert
a49366ff84 Remove nullability from IBeatmapInfo.Metadata 2021-11-04 14:28:39 +09:00
Dean Herbert
9f9c960fe3 Revert PlaylistItem.APIBeatmap to be private 2021-11-04 13:36:32 +09:00
Dean Herbert
05f1fd4bc9 Remove unnecessary properties and parameters 2021-11-04 13:33:54 +09:00
Dean Herbert
3453160a8b Change PlaylistItem.Beatmap to be an IBeatmapInfo 2021-11-04 13:16:56 +09:00
Dean Herbert
6fdeb66dc1 Use APIBeatmap instead of BeatmapInfo in playlist display classes where feasible 2021-11-04 11:55:50 +09:00
Bartłomiej Dach
098fa181b4
Fix text flow wrapping incorrectly in multiplayer usages 2021-11-03 18:36:43 +01:00
Bartłomiej Dach
ed00cd9fc5
Remove simple localisable .ToString() calls 2021-11-02 21:42:02 +01:00
Bartłomiej Dach
ad98ab0a26
Fix drawable room playlist item assuming single sprite text 2021-11-02 21:42:02 +01:00
Bartłomiej Dach
b95c95527e
Accept LocalisableStrings in LinkFlowContainer 2021-11-02 21:42:01 +01:00
Dean Herbert
6efd3d3115 Don't perform background difficulty calculation for multiplayer panels
There are cases these are shown in a long list. They shouldn't be
running calculations.
2021-11-03 03:12:52 +09:00
smoogipoo
3db199292f Fix queue mode not passed from room to settings overlay 2021-11-01 18:52:57 +09:00
smoogipoo
65b920e4c1 Merge branch 'master' into multi-queueing-modes 2021-11-01 18:37:16 +09:00
Dean Herbert
123b10f647 Fix playlist item download button being clickable when it shouldn't 2021-11-01 15:10:32 +09:00
smoogipoo
e667ef4eea Add basic tests 2021-10-29 15:44:48 +09:00
Dean Herbert
414d920ca2 Revert to previous exposure of RoomSubScreen.BeatmapAvailability 2021-10-29 12:02:10 +09:00
Dean Herbert
b252b176d4 Seal implementation and add comment about LoadComplete execution order 2021-10-29 11:59:07 +09:00
Dean Herbert
3b095e1626 Merge branch 'master' into beatmap-refactor/download-tracker 2021-10-29 11:50:54 +09:00
smoogipoo
f076b72fbe Merge branch 'master' into multi-queueing-modes 2021-10-29 10:48:16 +09:00
Dean Herbert
6f5040722a Merge branch 'master' into beatmap-refactor/uncontested 2021-10-28 16:37:26 +09:00
Dean Herbert
a9208838a9
Merge pull request #15307 from peppy/playlist-remaining-attempt-display
Show remaining attempts again on playlist screen
2021-10-28 05:28:20 +09:00
Dean Herbert
746d6a4c16 Fix some oversights and test failures 2021-10-27 23:42:27 +09:00
Dean Herbert
f014ceaead Update remaining usages of download tracking 2021-10-27 21:00:46 +09:00
Dean Herbert
f268363924 Update UpdateableBeatmapBackgroundSprite to accept IBeatmapInfo 2021-10-27 16:38:48 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dean Herbert
c15bfb2cf4 Handle bindable changes to fix new playlist creation not showing correct details 2021-10-26 18:19:05 +09:00
Dean Herbert
42d8d4fd38 Add tooltips to start button to explain why it's not clickable 2021-10-26 18:06:08 +09:00
Dean Herbert
1c578f285a Disable playlist start button when attempts have been exhausted 2021-10-26 18:06:08 +09:00
Dean Herbert
bffd9162ba Tint attempt count red when no attempts remain 2021-10-26 18:06:08 +09:00
Dean Herbert
708d40931b Add back remaining attempt display on playlist room screen 2021-10-26 18:06:08 +09:00
Dean Herbert
ea55ba7ba9 Remove unused using statement 2021-10-26 16:08:21 +09:00
Dean Herbert
6c38028d06 Fix gameplay chat display not losing focus on escape key press
Closes #15293.
2021-10-26 13:55:08 +09:00
Dan Balasescu
c6ca0e5895
Merge branch 'master' into fix-password-popover-focus 2021-10-22 22:52:46 +09:00
smoogipoo
04b0529a7f Fix list overflowing subscreen background 2021-10-22 22:17:26 +09:00
smoogipoo
d7a98097a1 Make DrawableRoomPlaylist handle expired items 2021-10-22 21:04:52 +09:00
smoogipoo
95ab82fb58 Remove BeatmapSelectionControl and inline at usage sites 2021-10-22 19:41:36 +09:00
Dean Herbert
90477e3788 Remove unused BeatmapTypeInfo class
Helps reduce the scope of upcoming changes.
2021-10-22 19:13:50 +09:00
smoogipoo
db87e42d47 Remove beatmap/ruleset/etc from MultiplayerRoomSettings 2021-10-22 16:48:28 +09:00
Dean Herbert
c580ec865f APIBeatmapSet.Covers is never null 2021-10-21 19:34:01 +09:00
Dean Herbert
69e7810dad Enable nullable and switch classes to structs 2021-10-21 18:54:36 +09:00
smoogipoo
f41cf822b0 Rename request 2021-10-21 17:02:11 +09:00
Dean Herbert
0706ad70fb Move BeatmapSetOnlineInfo to an interface type 2021-10-21 16:58:42 +09:00
Bartłomiej Dach
9ad9465020
Remove online-screen-local textbox recolours 2021-10-20 22:49:25 +02:00
smoogipoo
691e414acb Add request to add a new playlist item 2021-10-20 21:08:58 +09:00
smoogipoo
67090fc598 Re-namespace enum 2021-10-20 20:52:16 +09:00
smoogipoo
599867a3b1 Add implementation to settings overlay 2021-10-20 20:29:06 +09:00
smoogipoo
0e446105fb Rename to "picking mode" as simpler english 2021-10-20 17:52:51 +09:00
smoogipoo
bc57190fb4 Make dropdown not move the selection control 2021-10-20 17:52:05 +09:00
smoogipoo
116ce09e49 Merge branch 'master' into multi-queueing-modes 2021-10-20 17:27:25 +09:00
smoogipoo
ea9c070e59 Add setting for queue mode 2021-10-20 14:51:59 +09:00
Dean Herbert
480dc57102 Schedule joinFailed callback for added safety 2021-10-19 15:54:12 +09:00
Dean Herbert
da524261c0 Fix focus potentially being transferred too far up when password is being verified 2021-10-19 15:53:29 +09:00
Dean Herbert
a589964dc7 Centralise join logic 2021-10-19 15:53:29 +09:00
Dean Herbert
8944b1dd78 Add basic test coverage of DrawableLoungeRoom 2021-10-19 15:36:27 +09:00
Dean Herbert
473459d191 Add layout duration to PasswordEntryPopover to make error text look a bit smoother 2021-10-19 15:36:27 +09:00
Dean Herbert
d35fe5493a Change default value of DrawableLoungeRoom.matchingFilter so they display by default 2021-10-19 15:36:27 +09:00
5ln
3529f34c98
Multi: Hide mods when spectating or Beatmap isn't Locally Available.
Signed-off-by: 5ln <xnafumie@gmail.com>
2021-10-18 02:01:50 +08:00
smoogipoo
2fd101ad50 Reorder elements to follow designs 2021-10-15 20:25:32 +09:00
smoogipoo
a70d7e4feb Remove unnecessary extra GridContainer 2021-10-15 20:18:25 +09:00
Dean Herbert
9d54285b2e Merge branch 'master' into fix-multiplayer-sounds-during-gameplay 2021-10-14 21:34:04 +09:00
Dean Herbert
06249c4ab2 Fix incorrect usages of Scheduler.AddOnce 2021-10-14 17:52:19 +09:00
Dean Herbert
0d86dab80a Fix multiplayer components updating when not alive
Should close https://github.com/ppy/osu/issues/15092.

- [ ] Depends on https://github.com/ppy/osu-framework/pull/4826.
2021-10-14 17:37:10 +09:00
Bartłomiej Dach
d2115824fa
Merge branch 'master' into dropdown-refresh 2021-10-13 23:53:14 +02:00
Bartłomiej Dach
f3647eb94e
Recolour room settings screens to match dropdown theming 2021-10-13 22:50:19 +02:00
smoogipoo
fdf7142711 Remove Room.Position 2021-10-13 21:24:54 +09:00
Dan Balasescu
4bbff2ebf7
Merge branch 'master' into new-interfaces 2021-10-06 11:38:17 +09:00
Dean Herbert
d3b9660148 Move common interface implementations to extension methods 2021-10-05 14:41:14 +09:00
Dean Herbert
b41fa41c85 Rename APIRequest.Result to Response 2021-10-05 14:28:56 +09:00
Dean Herbert
853cf6feaa Rename last remaining BeatmapInfo Beatmap usage 2021-10-04 17:35:53 +09:00
Dan Balasescu
aa1bfc16d2
Merge pull request #14929 from peppy/gameplay-state
Replace `GameplayBeatmap` with `GameplayState`
2021-10-04 15:56:44 +09:00
Bartłomiej Dach
017756cbca
Use Torus alternates on online play screens as per design 2021-10-04 00:26:41 +02:00
Dean Herbert
05ca3aec4f Rename GameplayState to SpectatorGameplayState 2021-10-02 02:10:11 +09:00
smoogipoo
816018edb7 Move hosted by text into nullcheck 2021-09-30 12:04:30 +09:00
smoogipoo
202a602d2f Change default status to "ready to play" 2021-09-30 12:03:44 +09:00
smoogipoo
ea30445efc Remove verbatim string 2021-09-30 12:03:34 +09:00
smoogipoo
619a907c47 Fix zero height grid 2021-09-30 12:01:26 +09:00
smoogipoo
56b3c8aa9a Remove forgotten text 2021-09-30 11:52:14 +09:00
smoogipoo
c83dd7d2b6 Merge OnlinePlayComposite and RoomSubScreenComposite 2021-09-29 20:55:20 +09:00
smoogipoo
c9c2d20544 Limit max size 2021-09-29 20:44:38 +09:00
smoogipoo
67d847fbd3 Add room status text to DrawableRoom 2021-09-29 20:24:49 +09:00
smoogipoo
5f921c7836 Change SelectedItem to show the last item by default 2021-09-29 20:24:32 +09:00
smoogipoo
d89577b2e7 Add host to DrawableRoomParticipantsList 2021-09-29 19:34:40 +09:00
smoogipoo
73ee82ee2b Rename RecentParticipantsList -> DrawableRoomParticipantsList 2021-09-29 19:15:58 +09:00
Jamie Taylor
f868feae44
Remove unnecessary Schedule 2021-09-17 21:12:39 +09:00
Jamie Taylor
9485323a13
Add audio feedback for incorrect MP room password 2021-09-17 20:52:13 +09:00
Dean Herbert
027912d4f6 Refocus the multiplayer password entry textbox on failed join 2021-09-17 18:25:25 +09:00
Dean Herbert
f524e913e1 Move AllowTrackAdjustments specification to RoomSubScreen 2021-09-17 13:24:01 +09:00
Dean Herbert
cd4ba71a6b Revert "Merge pull request #14772 from Joehuu/lounge-disallow-track-adj"
This reverts commit 06ff4838fb, reversing
changes made to 5453ea0ce9.
2021-09-17 13:22:39 +09:00
Joseph Madamba
55feb47e61 Disallow track adjustments on playlists / multi lounge 2021-09-16 20:17:21 -07:00
smoogipoo
f9d5abff8a Update with keybinding changes 2021-09-16 18:26:12 +09:00
Dean Herbert
fa693bb8a8 Move MusicController adjustment set to inside OsuScreen itself (and result nullable) 2021-09-16 16:08:09 +09:00
AbstractQbit
318f0941ca Move all the "inherit previous AllowTrackAdjustments" logic into OsuScreen 2021-09-15 21:25:39 +03:00
Dean Herbert
931e873a7e
Merge branch 'master' into inheritable-allow-track-adjust 2021-09-15 22:26:13 +09:00
AbstractQbit
f0439ef50b Remove unnecessary AllowTrackAdjustments overrides, add true to SongSelect 2021-09-15 13:12:57 +03:00
Dean Herbert
8acfefed1b
Merge pull request #14741 from smoogipoo/fix-lounge-beatmaps-counter
Fix incorrect beatmap count and SR range in multi lounge
2021-09-15 18:51:52 +09:00
smoogipoo
f54d554d30 Extract removal to method 2021-09-15 17:03:28 +09:00
Bartłomiej Dach
7b9e501fa0
Merge branch 'master' into 14421-multi-password-error-handling 2021-09-14 22:58:20 +02:00
AbstractQbit
b9193aae6d Make IOsuScreen.AllowTrackAdjustments nullable
Allows for inheriting value from the previous screen if undefined
2021-09-14 17:37:57 +03:00
smoogipoo
a775915338 Fix incorrect beatmap count and SR range in multi lounge 2021-09-14 18:20:28 +09:00
Dean Herbert
5058f28504 Remove breaking padding 2021-09-14 14:52:50 +09:00
Dean Herbert
8865e3cab8 Add back shake and tweak transform of text 2021-09-14 14:44:32 +09:00
Dean Herbert
7bd749d0eb Remove weird shaking 2021-09-14 14:19:55 +09:00
Dean Herbert
e3c56f9ebd Show error message in popover 2021-09-14 14:14:06 +09:00
Dean Herbert
eaac2bad3d Fix incorrect child margin specifications 2021-09-14 13:49:02 +09:00
Dan Balasescu
f6c4bbe2c9
Merge pull request #14730 from peppy/add-missing-track-adjustment-defaults
Add missing screen level mod application settings for some screens
2021-09-13 15:22:22 +09:00
Dean Herbert
f9c82a9098
Merge pull request #14676 from nekodex/lobby-team-swap
Add sound for multiplayer team swaps
2021-09-13 15:01:58 +09:00
Dean Herbert
caf7ef6519 Add missing screen level mod application settings for some screens
Closes #7480. But based on discussion in there this solution may change.
2021-09-13 15:00:34 +09:00
Dean Herbert
7fe0eefb78 Add inline comment regarding team switch sample logic
Feels a bit convoluted without this. Don't really have a better
suggestion for now so a comment will do.
2021-09-13 14:12:19 +09:00
sh0ckR6
447001931c
Resolve LoungeSubScreen from PasswordEntryPopover
This is preferred over passing down the already-resolved LoungeSubScreen
2021-09-12 14:36:11 -04:00
sh0ckR6
e018071be4
Remove OnShakeFinish event 2021-09-11 19:50:41 -04:00
sh0ckR6
6cdc842452
Remove placeholder text response
Weird UX, doesn't feel right compared to the rest of lazer
2021-09-11 17:42:49 -04:00
sh0ckR6
b8a6925175
Use already-resolved LoungeSubScreen instead of nested delegates 2021-09-11 17:41:07 -04:00
Dean Herbert
6fc46792d3 Fix test regressions 2021-09-09 00:39:54 +09:00
Dean Herbert
136573982c Add fade in and fix incorrect wrapper bounds 2021-09-08 20:52:14 +09:00
Dean Herbert
7941240a00 Revert "Load DrawableLoungRooms asynchronously"
This reverts commit 0b55bb6913fbf05ebb8ecadfe711084d6797efe0.
2021-09-08 20:52:14 +09:00
Dean Herbert
3e41d8b32e Reduce initial fade transforms 2021-09-08 20:52:14 +09:00
Dean Herbert
bebb9d7e67 Wrap main content of DrawableRoom 2021-09-08 20:52:14 +09:00
Dean Herbert
037b9cfb59 Load DrawableLoungRooms asynchronously 2021-09-08 20:52:14 +09:00
Jamie Taylor
217ca754ae
Add sound for team swaps 2021-09-08 13:45:05 +09:00
sh0ckR6
b1f91596a7
Give user feedback on password attempt fail
Shake the popover
Set the input box's color to red and set the placeholder text to "incorrect password"
2021-09-07 20:05:24 -04:00
sh0ckR6
b8a1ebb786
Hide Popover after failed password attempt
Instead of throwing an error, just close the popover and let the user continue
2021-09-07 16:54:21 -04:00
smoogipoo
4658577b1d Factor in total score calculation time in results screen load 2021-09-07 15:19:09 +09:00
Dean Herbert
9e21f5a59c Rename LocalPlayer to User in mod select prefixes 2021-09-01 17:22:52 +09:00
Salman Ahmed
6154642075
Merge branch 'master' into local-popover-containers 2021-08-30 15:44:29 +03:00
Dan Balasescu
7be825f470
Merge pull request #14488 from frenzibyte/multi-spectator-player-leaving
Gray out and stop player instances who quit during multi-spectator sessions
2021-08-30 12:04:19 +09:00
Bartłomiej Dach
7457480b50
Add local popover container to lounge subscreen 2021-08-28 20:05:58 +02:00
Dean Herbert
2b06dacd0e Change debounce back to using scheduler
Should better allow for adjusting in the future, as well.
2021-08-27 18:57:19 +09:00
Jamie Taylor
56baecdde4
Add missing interaction sfx to MatchTypePicker 2021-08-26 15:30:20 +09:00
Jamie Taylor
e341f471b0
Add lobby sfx for join/leave/kick/ready/unready events 2021-08-26 15:29:22 +09:00
Salman Ahmed
196c74fce8 Gray out and remove player clock when users stop playing 2021-08-25 11:31:02 +03:00
Salman Ahmed
599145b46a Stop clocks when removing them from sync manager 2021-08-25 11:31:02 +03:00
Dean Herbert
e1ab3434ed Add ability to handle user join/leave/kick events in MultiplayerComposites 2021-08-25 14:37:14 +09:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 18:50:55 +02:00
smoogipoo
16ddbcd208 Don't bind to RoomId where it's expected to be constant 2021-08-24 14:25:40 +09:00
smoogipoo
de0de451fe Refactor to remove resolved dependency 2021-08-24 13:29:19 +09:00
smoogipoo
df170afbc4 Fix multiplayer crashing when entering gameplay 2021-08-24 13:22:06 +09:00
smoogipoo
956c1cc216 Merge branch 'master' into activity-on-multiplayer-screens 2021-08-24 12:33:34 +09:00
Dean Herbert
eaa4d479ac
Merge pull request #14408 from smoogipoo/remove-current-room
Remove the global "selected room" from online screens
2021-08-23 17:29:31 +09:00
Dean Herbert
99bb3032a5 Move gradient to be part of the background for now 2021-08-23 15:27:32 +09:00
Dean Herbert
58fb0c042b Remove background scale altogether
I'm not sure why this is required. Seems like something which was meant
to exist to handle parallax, but that is already handled elsewhere now.
2021-08-23 14:34:27 +09:00
smoogipoo
4f3a5fbad5 Fix test failure 2021-08-23 14:29:15 +09:00
Nathan Alo
2877b43824 split multiplayer and playlist activity 2021-08-22 09:54:07 +08:00
Dean Herbert
15d443f6b7 Use the UI mouse cursor when hovering gameplay chat in an interactive state 2021-08-21 14:44:54 +09:00
smoogipoo
f85d3665d8 Cleanups 2021-08-20 21:45:24 +09:00
smoogipoo
5192ee3b57 Fix initial display in room background 2021-08-20 21:40:35 +09:00
smoogipoo
5c8ca32ea4 Simplify lounge implementation 2021-08-20 21:33:21 +09:00
smoogipoo
b1a732b9b7 Remove selectedRoom from OnlinePlayScreen 2021-08-20 21:28:48 +09:00
smoogipoo
ceb07826d7 Merge branch 'master' into remove-current-room 2021-08-20 21:10:41 +09:00
smoogipoo
9458cd5a31 Make DrawableMatchRoom background load instantly 2021-08-20 21:07:51 +09:00
smoogipoo
b190020c4b Block lounge background screen from exiting 2021-08-20 21:02:25 +09:00
smoogipoo
d304e283e4 Don't deselect online room when joined 2021-08-20 18:14:59 +09:00
smoogipoo
c22c6f3a49 Initial room background implementation 2021-08-20 18:14:12 +09:00
smoogipoo
258ba4674c Fix background overflows 2021-08-20 17:50:49 +09:00
smoogipoo
3d96da84e6 Set a default background 2021-08-20 17:05:46 +09:00
smoogipoo
8524937c82 Move screenstack up a level 2021-08-20 17:02:55 +09:00
smoogipoo
610a162271 Merge branch 'master' into remove-current-room 2021-08-20 16:23:36 +09:00
Dan Balasescu
c95bf735fe
Merge branch 'master' into multiplayer-chat 2021-08-20 11:54:42 +09:00
Dean Herbert
e25592f325
Merge branch 'master' into fix-lounge-loading 2021-08-19 20:01:47 +09:00
Dean Herbert
b09105e5a7
Merge pull request #14381 from smoogipoo/match-subscreen-redesign
Update layout of multiplayer room screens
2021-08-19 19:36:21 +09:00
smoogipoo
44e157447c Initial rework of backgrounds 2021-08-19 19:10:54 +09:00
Dean Herbert
8fce5911a9 Adjust spacing and padding of footer buttons 2021-08-19 19:08:46 +09:00
Dean Herbert
16aecfe934 Start free mod selection area hidden on screen display 2021-08-19 19:02:54 +09:00
Dean Herbert
be77498044 Move chat to right column in multiplayer match screen 2021-08-19 19:02:31 +09:00
Dean Herbert
675e2e34ba Add padding between beatmap panel and edit button 2021-08-19 19:02:05 +09:00
Dean Herbert
4afc808ffc Remove horizontal transitions for now
They look bad with the current toolbar implementation. We can probably
add them back once the toolbar is moved to the lounge.
2021-08-19 18:29:59 +09:00
smoogipoo
023f3fb70e Use BackgroundScreen for multiplayer backgrounds 2021-08-19 18:19:31 +09:00
smoogipoo
493f47787b Disable condition for the time being 2021-08-19 18:18:42 +09:00
Dean Herbert
4d1582d721 Play settings hide animation if visible when exiting RoomSubScreen 2021-08-19 18:14:45 +09:00
smoogipoo
6b6d52c23b Add dependency container to RoomSubScreen 2021-08-19 16:53:07 +09:00
smoogipoo
4d1897c6b4 Remove unnecessary resolve into ListingPollingComponent 2021-08-19 16:52:54 +09:00
smoogipoo
00be7f4cca Make RoomsContainer/DrawableRoom not resolve via DI 2021-08-19 16:52:54 +09:00
smoogipoo
3a1154c00e Pass room into SelectionPollingComponent 2021-08-19 16:41:21 +09:00
smoogipoo
c31af96f1d Pass room into RoomSettingsOverlay 2021-08-19 16:41:21 +09:00
smoogipoo
1fd746524d Remove realtime room category, fix end-date showing for realtime 2021-08-19 16:09:28 +09:00
smoogipoo
6469eaa427 Fix background not updated in room 2021-08-19 15:52:51 +09:00
Dean Herbert
6d00ea3375 Allow toggling focus via binding 2021-08-19 14:19:59 +09:00
Salman Ahmed
b984780d6a Merge branch 'master' into fix-lounge-loading 2021-08-19 06:26:15 +03:00
Salman Ahmed
0e2f3dff4d Fix rooms scroll container not masking properly due to padding 2021-08-19 05:09:49 +03:00
Salman Ahmed
ffbe8ddfa4 Refactor lounge sub screen layout for better loading screen appearance 2021-08-19 04:23:12 +03:00
Bartłomiej Dach
07951fe18c
Merge branch 'master' into limit-match-settings-textbox 2021-08-18 21:17:16 +02:00
Davran Dilshat
43cbd10a38 change limit to be on actual usage site 2021-08-18 18:30:50 +01:00
Davran Dilshat
61675eefe0 Add length limit to match settings textboxes 2021-08-18 17:36:57 +01:00
smoogipoo
d40023bcc1 Hide border by default 2021-08-18 21:09:34 +09:00
smoogipoo
e9221f0126 Cleanup unnecessary implementation 2021-08-18 21:00:11 +09:00
smoogipoo
eadf02933a Split lounge-specific implementation from DrawableRoom 2021-08-18 20:56:44 +09:00
smoogipoo
63af67f61b Cleanup around footers 2021-08-18 20:25:48 +09:00
Salman Ahmed
8172ffc401 Fix lounge sub screen loading layer displaying in the background 2021-08-18 13:12:58 +03:00
Dean Herbert
1faf789f0e Allow expanding chat using key binding even when it is hidden 2021-08-18 18:25:21 +09:00
Dean Herbert
365c1bccc6 Fix multiplayer channel being unintentionally left after gameplay session 2021-08-18 18:24:20 +09:00
Salman Ahmed
5e91ec73e3 Handle star rating range display sizing 2021-08-18 11:36:27 +03:00
Dean Herbert
2099298444 Disallow clicking on chat textbox during gameplay 2021-08-18 17:30:50 +09:00
smoogipoo
9220d17202 Adjust paddings/spacings 2021-08-18 17:28:20 +09:00
Dean Herbert
9d2664cbb1 Merge branch 'master' into star-rating-display-v2 2021-08-18 17:22:33 +09:00
smoogipoo
6dc96fdb83 Disable edit button in playlists 2021-08-18 16:56:42 +09:00
smoogipoo
87a5922f0e Remove participants from playlists screen 2021-08-18 16:26:45 +09:00
smoogipoo
66e11fe75e Initial integration of playlists with the new structure 2021-08-18 16:09:15 +09:00
smoogipoo
568f1fd345 Fix initial RoomId state not being handled correctly 2021-08-18 16:09:00 +09:00
smoogipoo
90a1be2e61 Move paddings up one level 2021-08-18 15:54:33 +09:00
smoogipoo
744b6749d1 Resolve room settings layout issues 2021-08-18 15:29:01 +09:00
smoogipoo
228ad98b39 Remove extra corner radius on DrawableRoom 2021-08-18 15:27:23 +09:00
smoogipoo
f3bc9c3e45 Merge branch 'master' into match-subscreen-redesign 2021-08-18 15:19:29 +09:00
smoogipoo
c5268c9a99 Simplify by reusing same room panel 2021-08-18 15:19:24 +09:00
smoogipoo
704af94d39 Add edit button to room panel 2021-08-18 15:13:10 +09:00
smoogipoo
0853554c24 Fix settings overlay not being initially visible 2021-08-18 15:11:52 +09:00
smoogipoo
c66abf85f7 Remove match header 2021-08-18 14:04:44 +09:00
Dan Balasescu
eaf7bd72fc
Merge branch 'master' into multiplayer-chat 2021-08-17 20:08:01 +09:00
smoogipoo
47d4a2e97f Make SettingsOverlay protected 2021-08-17 20:05:26 +09:00
smoogipoo
590d814881 Move RoomSettingsOverlay to RoomSubScreen 2021-08-17 18:24:04 +09:00
smoogipoo
6840ec6716 Actually show the room in the sub screen 2021-08-17 17:58:24 +09:00
Dean Herbert
4a65888cfc
Merge branch 'master' into multiplayer-chat 2021-08-17 17:34:23 +09:00
Dean Herbert
3b5fc6d10f Ensure updateLoadingLayer is run at least once 2021-08-17 17:18:23 +09:00
Dean Herbert
9eb16fa61d Move poll allowance logic based on signalr connection inside polling component 2021-08-17 17:16:21 +09:00
smoogipoo
5d72c5911a Rename MatchSettingsOverlay and related classes
Because "match" is a multiplayer-only concept.
2021-08-17 17:14:28 +09:00
smoogipoo
6416e64e06 Adjust sizings and paddings 2021-08-17 17:13:25 +09:00
smoogipoo
4b198d14eb Initial refactor of RoomSubScreen 2021-08-17 17:05:20 +09:00
Dean Herbert
a901fca54a
Merge branch 'master' into multi-polling-request-refactor 2021-08-17 16:23:46 +09:00
Dean Herbert
124f149cb5 Add key binding to focus chat input 2021-08-17 16:17:31 +09:00
Dean Herbert
30eee363dc Add chat display during multiplayer gameplay 2021-08-17 16:17:31 +09:00
Salman Ahmed
3a7b9bf096 Fix MatchSettingsOverlay not resetting focus on hide properly 2021-08-17 08:56:49 +03:00
smoogipoo
f4b7ee5c7f Merge branch 'master' into hide-player-settings-overlay 2021-08-17 13:44:33 +09:00
smoogipoo
1e282432c9 Fix password in a better way 2021-08-17 09:40:25 +09:00
smoogipoo
352949069a Move filter to LoungeSubScreen 2021-08-17 09:36:43 +09:00
smoogipoo
97d5b80834 Fix joining with incorrect password 2021-08-17 09:18:21 +09:00
smoogipoo
6320768a67 Merge branch 'master' into multi-polling-request-refactor 2021-08-17 08:44:56 +09:00
Dean Herbert
8d45f86bd3 Rename variable to better reflect its purpose 2021-08-16 16:48:40 +09:00
Dean Herbert
81480ac4fc Use PlayerConfiguration to convey no-seek state 2021-08-16 16:16:02 +09:00
Salman Ahmed
7fe6f6dd14 Fix kick button action asserting and using User.User.ID rather than User.UserID 2021-08-16 09:47:23 +03:00
Salman Ahmed
79cd062784 Let TeamDisplay take the full MultiplayerRoomUser rather than the underlying User 2021-08-16 09:47:23 +03:00
smoogipoo
08d347f10b Merge branch 'master' into multi-polling-request-refactor 2021-08-16 13:12:08 +09:00
smoogipoo
b6a2020c59 General refactorings from PR review 2021-08-16 13:09:04 +09:00
smoogipoo
81f9442471 Inline update/addRoom in usage sites 2021-08-16 13:04:06 +09:00
Dean Herbert
f0fe79b568 Remove buffered container workarounds for now 2021-08-16 11:04:21 +09:00
Dean Herbert
d35886ef19 Reduce frame buffer render scale for blurred background 2021-08-16 11:03:49 +09:00
Dean Herbert
e8e387b549 Cache buffered background to fix multiplayer lounge performance
Consider this a request for comment. It's the cleanest solution I can
come up with without dropping either the blur, or use of
`ModelBackedDrawable`.

Intended to resolve https://github.com/ppy/osu/issues/14276.
2021-08-16 08:04:54 +09:00
Nathan Alo
2cc096101e trim whitespace 2021-08-15 18:56:24 +08:00
Salman Ahmed
2ddf28346a PlayerSettingsGroups -> PlayerSettings 2021-08-14 19:58:20 +03:00
Nathan Alo
4ed06a1021 apply suggestions 2021-08-14 22:39:12 +08:00
Nathan Alo
a553942a7f update InitialActivity on multiplayer Player and SongSelect 2021-08-14 13:20:36 +08:00
Dean Herbert
b8c63eb1cb Merge branch 'master' into multiplayer-kick-support-events 2021-08-14 14:08:34 +09:00
Bartłomiej Dach
8f3fedade3
Merge branch 'master' into multiplayer-team-vs-results 2021-08-13 21:30:44 +02:00
smoogipoo
1c0ffd4621 Merge branch 'master' into multi-polling-request-refactor 2021-08-13 22:24:01 +09:00
smoogipoo
155e9e16a5 Refactorings 2021-08-13 22:09:47 +09:00
smoogipoo
d57508853e Merge branch 'master' into multi-polling-request-refactor 2021-08-13 22:04:31 +09:00
smoogipoo
44b3e3bfac Merge branch 'master' into fix-playlists-cross-ruleset-entry 2021-08-13 21:58:15 +09:00
smoogipoo
c71a581106 Fix exception when leaving match 2021-08-13 18:24:19 +09:00
smoogipoo
1f992e67f3 Fix listing polling rate when entering room 2021-08-13 18:17:25 +09:00
smoogipoo
1bae7173d3 Fix initial multiplayer poll 2021-08-13 18:14:02 +09:00
smoogipoo
6a46105b5e Fix incorrect dependency 2021-08-13 18:12:32 +09:00
smoogipoo
83935540ca Add selection polling component to PlaylistsRoomSubScreen 2021-08-13 18:11:52 +09:00
smoogipoo
7cbf4c48ed Fix multiplayer polling when not connected 2021-08-13 17:59:18 +09:00
smoogipoo
8910781bcd Move listing polling component to LoungeSubScreen 2021-08-13 17:39:09 +09:00
Dean Herbert
db52549152 Move below everything rather than proxying (works better with new design) 2021-08-13 16:20:53 +09:00
Dean Herbert
6a95fa0278 Merge branch 'master' into fix-loading-screen-depth 2021-08-13 16:20:38 +09:00
Dean Herbert
df24f7a81e
Merge pull request #14256 from smoogipoo/multiplayer-header-redesign
Update multiplayer header to the latest designs
2021-08-13 16:16:25 +09:00
Dean Herbert
f9f3339885 Fix vertical offset not being handled correctly during score panel detach process 2021-08-13 16:14:23 +09:00
Dan Balasescu
f47f2b43b0
Merge branch 'master' into fix-loading-screen-depth 2021-08-13 16:09:00 +09:00
Dean Herbert
732dcd30c7 Merge branch 'master' into multiplayer-team-vs-results 2021-08-13 16:03:10 +09:00
Dean Herbert
dd7ca4b77b Increase "create room" button height 2021-08-13 15:35:45 +09:00
Dean Herbert
3b6a8a2bae Rename background sprite and reduce load delay 2021-08-13 15:25:00 +09:00
Dean Herbert
5cec50bdd1 Add comment mentioning why event bindings are not unbound 2021-08-13 15:24:43 +09:00
Dean Herbert
bf024fbd21
Merge branch 'master' into fix-playlists-cross-ruleset-entry 2021-08-13 15:06:37 +09:00
Dean Herbert
a1b72e7f97 Remove redundant array type specification 2021-08-13 14:41:07 +09:00
Dean Herbert
b9721f5261 Centralise screen exit logic and guard against non-current screen 2021-08-13 14:39:03 +09:00
Dean Herbert
0f45155b8e Fix remaining cases of invalid bindable operations during lease 2021-08-13 14:29:28 +09:00
Dean Herbert
92d4c9224a Merge branch 'master' into fix-playlists-cross-ruleset-entry 2021-08-13 14:28:14 +09:00
Dean Herbert
89eded457c Fix weird margins on loading display in lounge 2021-08-13 14:27:28 +09:00
smoogipoo
755b6460b6 Fix multiplayer navigation test failure 2021-08-13 14:05:44 +09:00
Salman Ahmed
34c2b317e2 Hide song progress bar on multi-spectator player 2021-08-13 07:30:09 +03:00
Salman Ahmed
e7cf6b2d23 Expire hold-to-quit button on multi-spectator player 2021-08-13 07:29:55 +03:00
Salman Ahmed
8dc7a925e7 Expire instead of hiding and disabling visibility state
Since it's a temporary change until the spectator interface gets
improved, no need to add further logic.
2021-08-13 07:28:59 +03:00
smoogipoo
e913c8f92f Change strings to verbatim 2021-08-13 13:07:02 +09:00
Salman Ahmed
c10320f239 Hide and disable player settings overlay on multi-spectator player 2021-08-13 06:35:16 +03:00
Salman Ahmed
2b86416cb2 Hide player settings overlay on multi-spectator player loader 2021-08-13 06:35:16 +03:00
Bartłomiej Dach
70005cb39d
Merge branch 'master' into multiplayer-team-vs-results 2021-08-12 20:39:48 +02:00
Bartłomiej Dach
53b4cdfb02
Handle ties in team vs. results screen 2021-08-12 20:38:24 +02:00
Bartłomiej Dach
f06f13215b
Split off multiplayer team results screen to separate class
The previous version tried to keep both normal multiplayer and team
multiplayer results as one screen, but didn't check that team-specific
components aren't null in `LoadComplete()`.

To decrease number of conditional, split off the team results screen to
a separate implementation, and choose one or the other at push time in
`MultiplayerPlayer`, depending on team count.
2021-08-12 20:01:31 +02:00
Bartłomiej Dach
828268ad4d
Add winner text background to increase contrast 2021-08-12 19:34:25 +02:00
Bartłomiej Dach
4d26bb6714
Scale score panel to remove overlap with team score display 2021-08-12 19:27:32 +02:00
Dean Herbert
8249ce7988
Merge branch 'master' into multiplayer-header-redesign 2021-08-12 21:00:46 +09:00
smoogipoo
03351cf434 Add blur to background 2021-08-12 20:01:53 +09:00
smoogipoo
050f2d6b0d Add background to room subscreen 2021-08-12 19:51:03 +09:00
smoogipoo
047b37788b Merge online play filter control with the lounge subscreen 2021-08-12 19:48:15 +09:00
Dean Herbert
e89aea1fc2 Add some padding between scroll bar and content 2021-08-12 19:47:26 +09:00
Dean Herbert
10195e0c53 Add total user count 2021-08-12 19:47:26 +09:00
Dean Herbert
7b66616dc4 Simplify logic and test/fix edge case 2021-08-12 19:47:26 +09:00
Dean Herbert
8a67304b9f Fix recent participants hidden user logic not handling edge case correctly
Hiding just one user never makes sense, so this will now always show up
to the required circle count until two users are required to be hidden.
This will make the listing more consistent with the width requirement
spec.
2021-08-12 19:47:26 +09:00
Dean Herbert
127fd4d292 Match font weight of design for hidden user count 2021-08-12 19:47:26 +09:00
Dean Herbert
2c07b68f6f Fix incorrect colour for hidden user display 2021-08-12 19:47:26 +09:00
Dean Herbert
512382987e Add colour provider for multiplayer usage 2021-08-12 19:47:26 +09:00
smoogipoo
ab7bd1df9d Use full-screen background 2021-08-12 19:27:06 +09:00
smoogipoo
b75c20fee4 Adjust positioning and paddings 2021-08-12 18:02:00 +09:00
smoogipoo
3b7aa262d5 Make header overlap content 2021-08-12 16:52:35 +09:00
smoogipoo
d07bb10d02 Remove breadcrumbs from header 2021-08-12 16:52:30 +09:00
Dean Herbert
ab1cc6ad48 Fix padding around recent participants icon being uneven 2021-08-12 16:50:09 +09:00
Dean Herbert
5f3ceaf0ad
Merge branch 'master' into lounge-redesign 2021-08-12 16:31:14 +09:00
Dean Herbert
4d6101f4e5 Lease selected room while in match screen to avoid lounge potentially changing it 2021-08-12 14:56:58 +09:00
Dan Balasescu
88f70e7f29
Merge branch 'master' into multiplayer-kick-support-events 2021-08-12 12:12:06 +09:00
Dan Balasescu
60e988aac3
Merge branch 'master' into multiplayer-kick-support 2021-08-12 11:46:56 +09:00
smoogipoo
543482111b Remove outdated todo 2021-08-12 10:40:14 +09:00
smoogipoo
bbb28d1b29 Don't use null-propagation for status 2021-08-12 09:14:46 +09:00
smoogipoo
58d76e9036 Use FinishTransforms() 2021-08-12 09:13:10 +09:00
Dean Herbert
31608a1bc6 Leave the match screen when kicked 2021-08-11 19:57:10 +09:00
smoogipoo
4002a1606e Round star ratings before comparing 2021-08-11 18:20:39 +09:00
smoogipoo
eb59f3c591 Revert "Buffer the entire star rating range to fix overlapping alpha"
This reverts commit c680012523.
2021-08-11 18:15:53 +09:00
Dean Herbert
d6352637d6 Also add tooltip and context menu item 2021-08-11 17:45:34 +09:00
Dean Herbert
bb51ebd0ef Don't show button on self 2021-08-11 17:42:46 +09:00
Dean Herbert
7aab8c32ec Add kick button and hook up logic 2021-08-11 17:31:54 +09:00