Commit Graph

1447 Commits

Author SHA1 Message Date
a61444690e Remove all usage of CatchUnobservedExceptions
This should no longer be required with the recent framework side change
that stops a game from crashing on unobserved exceptions
(https://github.com/ppy/osu-framework/pull/4171).
2021-01-29 16:32:29 +09:00
386f9f7842 Fix typos in comments 2021-01-28 22:36:07 +01:00
90a82f986b Fallback to using json for signalr communication if JIT is unavailable 2021-01-28 16:20:19 +09:00
7d06af916c Merge branch 'master' into add-messagepack 2021-01-27 13:00:46 +09:00
15885c17af Remove unused usings 2021-01-26 18:07:43 +09:00
20cfa991bf Switch clients to MessagePack mode 2021-01-26 17:41:21 +09:00
9537090d28 Setup all spectator model classes for MessagePack 2021-01-26 16:39:35 +09:00
e4fc604163 Setup all multiplayer model classes for MessagePack support 2021-01-26 16:26:03 +09:00
c317d60169 Add offline test scene for beatmap listing overlay 2021-01-26 00:03:20 +03:00
e6980688f6 Leave the multiplayer channel when leaving multiplayer 2021-01-21 15:42:23 +09:00
5e0fcc4a6c Merge pull request #11473 from frenzibyte/explicit-search-control
Add "explicit maps" search filter control to beatmap listing
2021-01-17 23:27:15 +09:00
5fd644fc57 Unify variable names 2021-01-17 22:42:48 +09:00
eb53e32792 Use task completion source for room join flow
On Android, users were unable to join or create multiplayer rooms. The
root cause of that was that the both the wait and set of the
`ManualResetEvent` in `getRoomUsers` occurred on the same thread, which
created a chicken-and-egg situation - the set could not proceed until
the wait had actually completed.

Resolve by substituting the `ManualResetEvent` for a
`TaskCompletionSource` to achieve a promise-style task, which the
previous code was a crude approximation of anyway.

Closes #11385.
2021-01-17 14:40:22 +01:00
addd463d26 Merge branch 'master' into explicit-search-control 2021-01-17 21:44:25 +09:00
edb6d3907b Merge pull request #11472 from frenzibyte/explicit-beatmap-markers
Add explicit content markers to beatmap panels and overlay
2021-01-17 21:44:10 +09:00
67b5ebadf5 Merge branch 'master' into fix-is-connected-thread-safety 2021-01-15 12:56:21 +09:00
95acc457aa Fix stupid mistake
fuck.
2021-01-13 22:35:21 +03:00
560b1e970c Merge branch 'master' into user-beatmap-downloading-states 2021-01-13 22:31:31 +03:00
1f12b2bd09 Rename download state Downloaded to Importing 2021-01-13 18:04:53 +03:00
a5f99ed8e6 Merge branch 'explicit-beatmap-markers' into explicit-search-control 2021-01-13 12:53:57 +03:00
e8daea91d2 Add online beatmap "explicit content" property 2021-01-13 12:13:14 +03:00
7298adc9d9 Fix non-threadsafe usage of MultiplayerClient.IsConnected 2021-01-12 19:04:16 +09:00
249be461d5 Add "explicit maps" search filter control 2021-01-12 11:09:55 +03:00
0d5fbb15ac Fix up code comments
Default value restated in xmldoc was snipped because it's made redundant
by the initialiser and possibly bound to be outdated at some point.
2021-01-11 20:31:52 +01:00
90fb67b377 Update code in-line with decided direction 2021-01-11 20:52:24 +03:00
2286e3679f Downloaded -> Importing 2021-01-11 08:21:07 +03:00
a8dfa5e2a9 Rename typo'd method 2021-01-11 08:04:00 +03:00
e99310b59c Add JsonConstructor attribute 2021-01-11 08:02:57 +03:00
deb1ad7bca Merge branch 'master' into disable-repeat-multi-actions 2021-01-04 23:38:29 +09:00
839f5a7570 Ensure clients don't blow up when given user isn't in room 2021-01-03 18:36:37 +03:00
c8423d1c46 Make constructors design more pleasent to eyes 2021-01-03 18:36:05 +03:00
152e9ecccf Make BeatmapAvailability class in-line with other online data structures 2021-01-03 18:36:05 +03:00
6ad1b7767e Update osu.Game/Online/API/APIMod.cs
Co-authored-by: Salman Ahmed <slmanarendo1950@gmail.com>
2021-01-03 17:04:16 +09:00
99fa0e25dc Switch back to FirstOrDefault to allow for weird testing logic to pass 2021-01-03 16:46:24 +09:00
29dbb1cc0d Add internal pathway for ensuring correct application of bindable mods 2021-01-03 15:48:28 +09:00
23e216fa0b Simplify some default value checks (we are sure the return is an IBindable) 2021-01-03 15:47:15 +09:00
1a44338124 Use SingleOrDefault for added safety when looking up mod acronyms 2021-01-03 15:38:30 +09:00
dfa8be9173 Add beatmap availability change state & event methods 2021-01-03 05:48:49 +03:00
09e5e2629a Add user beatmap availability property 2021-01-03 05:48:49 +03:00
8bb84570df Introduce beatmap availability structure 2021-01-03 05:48:49 +03:00
9ab1091281 Merge branch 'master' into fix-signalr-reconnect 2021-01-02 13:18:02 +01:00
72a6ca7755 Allow signalr to retry connecting when connection is closed without an exception 2021-01-02 16:47:00 +09:00
f800448c87 Move game start logic to a higher level 2020-12-30 18:15:48 +01:00
dd87478690 Add helper IsHost property to Client 2020-12-30 16:29:19 +01:00
497d644a19 Move thread safety / locking logic from MultiplayerRoom 2020-12-30 20:24:50 +09:00
3920dac8af Merge branch 'master' into fix-error-spam-on-disconnection 2020-12-30 00:55:37 +09:00
6bbd0ecfac Remove unused lock object 2020-12-29 17:39:00 +09:00
e9b0652359 Move ready-up operation logic again to client
To salvage ready up button tests.
2020-12-29 09:16:02 +01:00
03b78d1c4b Handle SocketExceptions and HttpRequestExceptions more silently
These can occur when a network connection is completely unavailable (ie.
host resolution failures are occurring). Currently these would appear as
important errors which spammed the notification overlay every retry
forever, while no network connection is available.

I also took this opportunity to remove a lot of `bool` passing which was
no longer in use (previously the fail count / retry process was
different to what we have today).
2020-12-29 16:22:11 +09:00
903dca875e Make localUser a client property 2020-12-29 07:46:22 +01:00