Commit Graph

1816 Commits

Author SHA1 Message Date
94aa5fbca7 Fix doubled json property (runtime error) 2021-08-05 16:31:34 +09:00
666007b2f9 Merge branch 'master' into multiplayer-team-vs-team-selection 2021-08-04 13:54:11 +09:00
401835a3d8 Add missing event glue 2021-08-04 13:13:47 +09:00
75426f84f1 Fire initial match user states in TestMultiplayerClient 2021-08-03 23:42:37 +09:00
b956d32587 Add the ability to change multiplayer game type 2021-08-03 23:42:37 +09:00
e11b815b82 Serialise type as snake_case 2021-08-03 23:13:39 +09:00
70da58323a Drop MatchRuleset terminology completely 2021-08-03 15:45:17 +09:00
66427127f0 Update naming in line with discussion 2021-08-03 15:09:03 +09:00
a42762e351 Merge branch 'multiplayer-rename-game-type' into multiplayer-match-rulesets 2021-08-03 14:55:51 +09:00
ee102e3755 Fix incorrectly overwritten ReferenceLoopHandling setting 2021-08-03 14:55:20 +09:00
5ac3abac99 Add missing forceScheduled parameter 2021-08-03 14:53:04 +09:00
556962a3d8 Add missing xmldoc comment
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-03 14:50:56 +09:00
2564c0c3df Rename GameType to MatchType and make enum instead of class 2021-08-03 14:46:31 +09:00
d93421b9b8 Expose a default TeamVs room state so it can be consumed by tests 2021-08-02 18:50:22 +09:00
c7274355a4 Remove abstract definitions from multiplayer states for now 2021-08-02 18:50:22 +09:00
617ff40de7 Add the ability to not use MessagePack when creating a HubConnector 2021-08-02 18:50:22 +09:00
1cd967b351 Add signalr json type handling specification 2021-08-02 18:50:22 +09:00
4cf2c6188d Add union attributes for derived class deserialisation 2021-08-02 18:50:22 +09:00
ce92a47ec6 Add silly event handling hookups 2021-08-02 18:50:22 +09:00
359eb9c4ec Add new event flow for match ruleset state handling
I'm totally not happy with how this is done, but don't have the energy
to rewrite everything just now.
2021-08-02 18:50:22 +09:00
035dfd071f Add missing nullable specifications 2021-08-02 18:47:26 +09:00
d17b2b3268 Add boilerplate for server events 2021-08-02 18:47:26 +09:00
1d645d4ca9 Mark base classes non-abstract to fix messagepack serialisation 2021-08-02 18:47:26 +09:00
1c125eef12 Make Users an IList for more flexibility server-side 2021-08-02 18:47:26 +09:00
9d1e95caf0 Add flow for sending match ruleset specific messages to the server 2021-08-02 18:47:26 +09:00
e8338f2711 Add basic class structure for match rulesets and required state 2021-08-02 17:14:49 +09:00
c1d8a7e2ad Add and use 'Submit' select sample variant for particular components 2021-07-30 21:35:28 +09:00
185ea776f5 Fix incorrect authorisation loss exception handling with recent changes 2021-07-30 18:11:40 +09:00
3a5324c947 Fix aborting an APIRequest potentially resulting in incorrect success 2021-07-29 13:01:52 +09:00
2a94fc214f Merge pull request #14046 from peppy/fix-rapid-reconnection
Fix `HubClientConnector` reconnecting with no delay on server-triggered error
2021-07-29 01:52:21 +09:00
cd2a1af6de Fix HubClientConnector reconnecting with no delay on server-triggered error 2021-07-28 20:46:02 +09:00
1ed4fdd5f5 Avoid deserialisation JSON request content when error is not present (or not relevant) 2021-07-28 20:13:40 +09:00
bb3747ffc9 Fix beatmap search requests double-escaping
Closes #14008.
2021-07-25 17:06:40 +09:00
ce30bd8cc7 Merge pull request #14003 from Game4all/localise-profile-overlay-header-stats
Localise profile overlay numeric statistics
2021-07-25 12:20:38 +09:00
48120faeb2 Fix inability to join a multiplayer room which has no password 2021-07-24 19:21:16 +09:00
ff3d38de6f Localise accuracy display. 2021-07-23 22:37:08 +02:00
17168b8137 Fix authentication loss not handled correctly
This handles the case where on initial API connection, the server
responds with an `Unauthorized` response. It doesn't perform this same
checking/handling on every API request, which is probably what we want
eventually.

Opting to not address the full issue because I know this is going to be
a long one (see
05c50c0f6c/osu.Game/Online/API/APIAccess.cs (L233)).
2021-07-23 19:03:19 +09:00
6dbdfcc70c Fix room password not being percent-encoded in join request 2021-07-22 23:11:58 +02:00
57e5f5575a Fix derived API request types firing success when they shouldn't
The usual case of `virtual`/`override` being dangerous when logic is
added to the base implementation. As such, I've removed this completely.
2021-07-22 14:23:27 +09:00
747c475b95 Merge pull request #13932 from peppy/fix-multiple-request-completion-states
Fix API request potentially firing failed events after completion
2021-07-21 15:11:03 +09:00
1e634d9db0 Adjust user beatmap sections on profile overlay to match web 2021-07-20 21:55:17 +02:00
b7c2d6b1ab Merge branch 'master' into add-password-support 2021-07-19 22:23:09 +09:00
0a43e54dfc Fix request failing due to parameters 2021-07-19 21:24:22 +09:00
a001e4aa16 Fix web request failing if password is null 2021-07-19 20:57:16 +09:00
80c2b1449b Fix API request potentially firing failed events after completion
Specifically, `Cancel()` calls were not thread safe. Due to a series of
events, `ListPollingComponent` could call `Cancel` from a non-update
thread, leading to a race condition where both a `Success` and `Fail`
event can be fired.

This is intended to be the simplest fix possible, locking and guarding
specifically on the callbacks. Further work could be done in the future
to improve the flow surrounding `pendingFailure`, potentially reducing
redundant work and cleaning up the code, but that's not happening here.

Closes https://github.com/ppy/osu/issues/13632.
2021-07-19 20:27:01 +09:00
2eec524f27 Fix password not copied from multiplayer client 2021-07-19 20:20:08 +09:00
2515785f93 Use room password to fill settings textbox 2021-07-19 20:03:32 +09:00
063f14da98 Update test room manager to not return passwords 2021-07-19 20:03:27 +09:00
3c028ce05c Add IDeepCloneable interface and update existing CreateCopy methods to use it 2021-07-19 12:54:17 +09:00
125bd36ab1 Send password in request ctor directly 2021-07-13 14:27:07 +09:00