1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-20 03:52:54 +08:00
Commit Graph

1433 Commits

Author SHA1 Message Date
Salman Ahmed
da9c23f347 Add beatmap availability tracker component for multiplayer 2021-01-17 00:01:11 +03:00
Salman Ahmed
7ad8b167cc Add overridable method for checking local availability of current model 2021-01-17 00:01:11 +03:00
Salman Ahmed
04d17aadfa Add overridable method for verifying models in database 2021-01-17 00:01:11 +03:00
Salman Ahmed
d9034eab26 Make model manager in DownloadTrackingComposite protected 2021-01-16 22:54:54 +03:00
Dan Balasescu
67b5ebadf5
Merge branch 'master' into fix-is-connected-thread-safety 2021-01-15 12:56:21 +09:00
Salman Ahmed
95acc457aa Fix stupid mistake
fuck.
2021-01-13 22:35:21 +03:00
Salman Ahmed
560b1e970c
Merge branch 'master' into user-beatmap-downloading-states 2021-01-13 22:31:31 +03:00
Salman Ahmed
1f12b2bd09 Rename download state Downloaded to Importing 2021-01-13 18:04:53 +03:00
Dean Herbert
7298adc9d9 Fix non-threadsafe usage of MultiplayerClient.IsConnected 2021-01-12 19:04:16 +09:00
Bartłomiej Dach
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
Salman Ahmed
90fb67b377 Update code in-line with decided direction 2021-01-11 20:52:24 +03:00
Salman Ahmed
2286e3679f Downloaded -> Importing 2021-01-11 08:21:07 +03:00
Salman Ahmed
a8dfa5e2a9 Rename typo'd method 2021-01-11 08:04:00 +03:00
Salman Ahmed
e99310b59c Add JsonConstructor attribute 2021-01-11 08:02:57 +03:00
Dean Herbert
deb1ad7bca
Merge branch 'master' into disable-repeat-multi-actions 2021-01-04 23:38:29 +09:00
Salman Ahmed
839f5a7570 Ensure clients don't blow up when given user isn't in room 2021-01-03 18:36:37 +03:00
Salman Ahmed
c8423d1c46 Make constructors design more pleasent to eyes 2021-01-03 18:36:05 +03:00
Salman Ahmed
152e9ecccf Make BeatmapAvailability class in-line with other online data structures 2021-01-03 18:36:05 +03:00
Dean Herbert
6ad1b7767e
Update osu.Game/Online/API/APIMod.cs
Co-authored-by: Salman Ahmed <slmanarendo1950@gmail.com>
2021-01-03 17:04:16 +09:00
Dean Herbert
99fa0e25dc Switch back to FirstOrDefault to allow for weird testing logic to pass 2021-01-03 16:46:24 +09:00
Dean Herbert
29dbb1cc0d Add internal pathway for ensuring correct application of bindable mods 2021-01-03 15:48:28 +09:00
Dean Herbert
23e216fa0b Simplify some default value checks (we are sure the return is an IBindable) 2021-01-03 15:47:15 +09:00
Dean Herbert
1a44338124 Use SingleOrDefault for added safety when looking up mod acronyms 2021-01-03 15:38:30 +09:00
Salman Ahmed
dfa8be9173 Add beatmap availability change state & event methods 2021-01-03 05:48:49 +03:00
Salman Ahmed
09e5e2629a Add user beatmap availability property 2021-01-03 05:48:49 +03:00
Salman Ahmed
8bb84570df Introduce beatmap availability structure 2021-01-03 05:48:49 +03:00
Bartłomiej Dach
9ab1091281
Merge branch 'master' into fix-signalr-reconnect 2021-01-02 13:18:02 +01:00
Dean Herbert
72a6ca7755 Allow signalr to retry connecting when connection is closed without an exception 2021-01-02 16:47:00 +09:00
Bartłomiej Dach
f800448c87 Move game start logic to a higher level 2020-12-30 18:15:48 +01:00
Bartłomiej Dach
dd87478690 Add helper IsHost property to Client 2020-12-30 16:29:19 +01:00
Dean Herbert
497d644a19 Move thread safety / locking logic from MultiplayerRoom 2020-12-30 20:24:50 +09:00
Dean Herbert
3920dac8af Merge branch 'master' into fix-error-spam-on-disconnection 2020-12-30 00:55:37 +09:00
Dean Herbert
6bbd0ecfac Remove unused lock object 2020-12-29 17:39:00 +09:00
Bartłomiej Dach
e9b0652359 Move ready-up operation logic again to client
To salvage ready up button tests.
2020-12-29 09:16:02 +01:00
Dean Herbert
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
Bartłomiej Dach
903dca875e Make localUser a client property 2020-12-29 07:46:22 +01:00
Dean Herbert
2cb84c5111 Fix error message being shown to user on multiplayer disconnection when not in room 2020-12-29 15:19:52 +09:00
Dean Herbert
f31a0e455a Minor xmldoc rewording 2020-12-29 14:29:40 +09:00
Dean Herbert
e3a41f6118 Rename variable to make more sense
It needs to be explicitly stated that the users in this list are related
to the *joined* room. Especially since it's sharing its variable name
with `SpectatorStreamingClient` where it has the opposite meaning (is a
list of *globally* playing players).
2020-12-29 14:27:35 +09:00
Dean Herbert
6aeb7ece66 Tidy up update state code, naming, xmldoc 2020-12-29 14:25:08 +09:00
Bartłomiej Dach
1d311a6680 Change PlayingUsers population logic to match expectations 2020-12-28 19:27:56 +01:00
Dean Herbert
1b7c72f03b
Merge branch 'master' into changelog-refactor 2020-12-28 11:00:14 +09:00
Dean Herbert
3b5260fd67
Merge branch 'master' into fix-gameplay-leaderboard-clickable-avatars 2020-12-27 19:00:38 +09:00
Bartłomiej Dach
0b42b4b955 Rename {Drawable -> Clickable}Avatar 2020-12-26 14:35:11 +01:00
Bartłomiej Dach
a1af749b4b
Merge branch 'master' into patch/11310 2020-12-26 13:19:13 +01:00
Bartłomiej Dach
b059b5d616 Merge branch 'master' into fix-ready-button-crash 2020-12-26 12:41:47 +01:00
Dean Herbert
b9d725ab49 Don't copy spotlight category 2020-12-26 20:13:28 +09:00
Bartłomiej Dach
04d54c40db Allow all StatefulMultiplayerClient schedules to run inline
Fixes test failures due to not allowing to do so, therefore inverting
execution order in some cases - for example, calling

        JoinRoom(room);
        LeaveRoom();

on the update thread would invert execution order due to the first being
unscheduled but the second being scheduled.
2020-12-26 12:04:10 +01:00
Bartłomiej Dach
dae27fefe4 Run user list copy inline if possible
`getRoomUsers()` was not safe to call from the update thread, as
evidenced by the test failures. This was due to the fact that the added
reset event could never actually be set from within the method, as the
wait was blocking the scheduled set from ever proceeding.

Resolve by allowing the scheduled copy & set to run inline if on the
update thread already.
2020-12-26 12:03:03 +01:00
Neuheit
e7339d6959 fix(osu.Game): Ensure Category property is copied in Room. 2020-12-25 21:07:33 -05:00