1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-11 18:27:26 +08:00
Commit Graph

1413 Commits

Author SHA1 Message Date
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
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
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
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
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
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
Dean Herbert
f9900720d5 Rename OnRoomChanged to OnRoomUpdated to avoid confusion 2020-12-26 10:49:02 +09:00
Dean Herbert
5ce5b6cec0 Fix non-safe thread access to room users on room join 2020-12-26 10:25:16 +09:00
Dean Herbert
e0198c36ae Fix user population happening in single file 2020-12-26 09:48:13 +09:00
Bartłomiej Dach
0bd9f68cbd Refactor update stream colour mapping code 2020-12-25 21:06:03 +01:00
Bartłomiej Dach
83fb7c7a1a Re-namespace all files in OnlinePlay directory 2020-12-25 16:50:09 +01:00
Dean Herbert
2d7f9bf290 Revert RoomCategory naming change to avoid json deserialization failures 2020-12-25 23:34:29 +09:00
Dean Herbert
e49dce2c86 Fix some missed renames 2020-12-25 15:34:13 +09:00
Dean Herbert
5d4b73baa5 RealtimeMultiplayer -> Multiplayer 2020-12-25 14:10:59 +09:00
Dean Herbert
a1384942b1 Timeshift -> Playlists at a code level 2020-12-25 13:11:21 +09:00
Dean Herbert
3d28a0ccef
Merge pull request #11271 from peppy/dev-server
Prefer connecting to dev server when running in DEBUG
2020-12-24 23:01:19 +09:00
Bartłomiej Dach
d5c348b568 Remove explicit public access modifier from interface 2020-12-24 13:44:46 +01:00
Dean Herbert
66a23c22e5 Fix various tests failing due to dependence on specific online data 2020-12-24 21:28:24 +09:00
Bartłomiej Dach
4fb2610c82
Merge branch 'master' into frame-bundle-accuracy 2020-12-24 11:20:06 +01:00
Dean Herbert
323da82477 Add website root URL and update most links to use it
For what it's worth, I intentionally didn't include news / changelog /
supporter, because these should never change.
2020-12-24 18:11:42 +09:00
Dean Herbert
eb795a2127 Move all endpoint information to a configuration class 2020-12-24 17:58:38 +09:00
Dean Herbert
1f80f01b53 Add accuracy to frame bundle header 2020-12-24 14:46:52 +09:00
Dean Herbert
43370d7021
Merge pull request #11273 from bdach/duplicate-user-in-mp-room
Improve reliability of handling user joined messages
2020-12-24 14:31:44 +09:00
Dean Herbert
b29a5e2073
Merge pull request #11270 from bdach/better-error-handling
Improve error handling at realtime room settings screen
2020-12-24 13:23:49 +09:00
Bartłomiej Dach
a71496bc4e Sanity check received user joined messages
While test failures fixed in 9843da5 were a shortcoming of the test,
they exposed a potential vulnerable point of the multiplayer client
logic. In case of unreliable message delivery it is not unreasonable
that duplicate messages might arrive, in which case the same scenario
that failed in the tests could crash the game.

To ensure that is not the case, explicitly screen each new joined user
against the room user list, to ensure that duplicates do not show up.
`UserLeft` is already tolerant in that respect (if a user is requested
to be removed twice by the server, the second removal just won't do
anything).
2020-12-23 21:00:49 +01:00
Dean Herbert
e89583d732 Prefer connecting to dev server when running in DEBUG 2020-12-24 01:33:19 +09:00