1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-16 21:02:55 +08:00
Commit Graph

1330 Commits

Author SHA1 Message Date
Dean Herbert
c92c2cbfc0 Change exceptions which should be returned to the user to HubException type
See
https://docs.microsoft.com/en-us/dotnet/api/microsoft.aspnetcore.signalr.hubexception?view=aspnetcore-5.0.
2020-12-09 14:46:44 +09:00
Dean Herbert
48129c52d6 Change get-only property for now 2020-12-09 12:38:24 +09:00
Dean Herbert
427d41bab5 Add missing licence headers 2020-12-09 12:17:37 +09:00
Dean Herbert
0eb5b16454 Remove Empty() implementation for RoomSettings until otherwise necessary 2020-12-09 12:12:03 +09:00
Dean Herbert
1013749a83 Change user id type to int 2020-12-09 12:10:47 +09:00
Dean Herbert
fd4fa963ac Standardise exception naming 2020-12-09 12:07:19 +09:00
Dean Herbert
2046cbe2d9 Add missing exceptions to server xmldoc 2020-12-09 12:05:50 +09:00
Dean Herbert
ff5150a14d Fix typo in IMultiplayerClient xmldoc 2020-12-09 12:03:52 +09:00
Dean Herbert
02f5fda330 Add missing final newline in file 2020-12-08 21:15:10 +09:00
Dean Herbert
aa68ae4ff2 Change locking mechanism for multiplayer rooms to use using-disposal pattern
Was required to lock over `await` calls server-side.
2020-12-08 20:43:18 +09:00
Dean Herbert
d76fabedf9 Add note about LoadRequested only being sent to a subset of room users 2020-12-08 20:43:18 +09:00
Dean Herbert
021a116093 Add extra xmldoc covering the fact that MatchStarted is received by all users 2020-12-08 20:43:18 +09:00
Dean Herbert
df908f90b2 Add exception to be thrown when an operation is requested requiring host when not host 2020-12-08 20:43:18 +09:00
Dean Herbert
2433838d58 Add methods covering match start / end 2020-12-08 20:43:18 +09:00
Dean Herbert
2aedd82e27 Document room states and remove unnecessary WaitingForResults state 2020-12-08 20:43:18 +09:00
Dean Herbert
147db0abe2 Fix client naming and xmldoc 2020-12-08 20:43:18 +09:00
Dean Herbert
60550b73f7 Add missing states and xmldoc for all states' purposes 2020-12-08 20:43:18 +09:00
Dean Herbert
8eccfa476c Add loading states 2020-12-08 20:43:18 +09:00
Dean Herbert
345352be67 Mark PerformUpdate as an instant handle method (doesn't really help with anything) 2020-12-08 20:43:18 +09:00
Dean Herbert
11a7057289 Add notification flow for user state changes in room 2020-12-08 20:43:18 +09:00
Dean Herbert
dbe048cdc6 Add client method for notifying about host changes 2020-12-08 20:43:18 +09:00
Dean Herbert
a4ca8d2998 Ensure multiplayer rooms are instantiated with a room ID 2020-12-08 20:43:18 +09:00
Dean Herbert
71de7ce0a3 Add missing methods to server interface 2020-12-08 20:43:18 +09:00
Dean Herbert
5f5c0d5533 Return room model when joining 2020-12-08 20:43:18 +09:00
Dean Herbert
5d2ca7fc39 Make remaining model classes nullable and serializable 2020-12-08 20:43:18 +09:00
Dean Herbert
2365d65610 Move business logic out of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
42b1e9d6a4 Add xmldoc coverage of MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
4f449ba821 Rename idle state 2020-12-08 20:43:18 +09:00
Dean Herbert
5a231cef15 Add thread safety for external operations on MultiplayerRoom 2020-12-08 20:43:18 +09:00
Dean Herbert
327799c263 Rename multiplayer server file to match class 2020-12-08 20:43:18 +09:00
Dean Herbert
b3bdaaa7b5 Move exceptions to common code 2020-12-08 20:43:18 +09:00
Dean Herbert
e193f8214d Remove unnecessary room id from leave room request 2020-12-08 20:43:18 +09:00
Dean Herbert
882ace6efe Make MultiplayerRoomUser equatable 2020-12-08 20:43:18 +09:00
Dean Herbert
baf16cfbc3 Add room settings related model and event flow 2020-12-08 20:43:18 +09:00
Dean Herbert
6e5846d91b Fix serialization failure due to missing set 2020-12-08 20:43:18 +09:00
Dean Herbert
ff52a5ddc6 Add callbacks for join/leave events to notify other room occupants 2020-12-08 20:43:18 +09:00
Dean Herbert
ca86524c92 Add locking on join/leave operations 2020-12-08 20:43:18 +09:00
Dean Herbert
fdf025942b Ensure room is locked when mutating users 2020-12-08 20:43:18 +09:00
Dean Herbert
8ebdb5723b Add models for users and rooms 2020-12-08 20:43:18 +09:00
Dean Herbert
f4ccbbd092 Add basic server implementation 2020-12-08 20:43:18 +09:00
Dean Herbert
daed27460c Add simple user state class 2020-12-08 20:43:18 +09:00
Dean Herbert
be4a668e0b Add basic structure for multiplayer state and model components 2020-12-08 20:43:18 +09:00
smoogipoo
f599427080 Implement TimeshiftFilterControl 2020-12-07 22:04:35 +09:00
Dean Herbert
37d550f42a
Merge pull request #11035 from smoogipoo/add-playlist-length 2020-12-03 18:39:54 +09:00
Dean Herbert
3550e5b30f Add length display to room screen as well 2020-12-03 16:42:06 +09:00
smoogipoo
d5dccbc3d7 Fix spectator not being thread-safe 2020-12-02 19:13:09 +09:00
Bartłomiej Dach
610ed99ae3 Add null checks to unguarded resolved-as-null fields 2020-11-14 14:52:58 +01:00
Dean Herbert
cfb42037cf Refactor request string logic to avoid linq usage 2020-11-09 12:23:29 +09:00
Dean Herbert
893979b3de Add exception if attempting to exceed the maximum supported lookup size for one request 2020-11-06 17:00:29 +09:00
Dean Herbert
db039da668 Add and consume multi-lookup API endpoint 2020-11-06 17:00:29 +09:00
Dean Herbert
aa252d562a Rename top user request to make way for new type 2020-11-06 17:00:29 +09:00
Dean Herbert
1e1569eb53 Use int instead of long for user_id fields for now 2020-11-06 12:59:46 +09:00
Dean Herbert
a3c67aabe2 Merge branch 'master' into spectator-listing 2020-11-03 19:56:25 +09:00
Dean Herbert
ed30756c19 Add test coverage for new display (and remove live version for now) 2020-11-02 20:41:14 +09:00
Dean Herbert
a89aeaf1ce Add very basic connection status logging for spectator streaming client 2020-11-02 17:32:10 +09:00
Bartłomiej Dach
23d9fa4dfa Merge branch 'master' into spectator-replay-watcher 2020-11-01 15:53:37 +01:00
Bartłomiej Dach
5903c3be90 Fix inaccurate xmldoc 2020-11-01 14:39:10 +01:00
Dean Herbert
1db8dfd03e
Merge branch 'master' into seasonal-backgrounds 2020-10-30 22:53:51 +09:00
Max Hübner
f27ce7521d Make "Sometimes" setting depend on season end date, rather than chance 2020-10-30 10:27:43 +01:00
Dean Herbert
87be7d162b
Merge branch 'master' into spectator-replay-watcher 2020-10-30 00:25:17 +09:00
Bartłomiej Dach
fa53549ed2 Mark request fields as possibly-null 2020-10-28 22:57:03 +01:00
Andrei Zavatski
5c2c5f2000 Use existing ScoreRank for rank filter 2020-10-28 23:35:08 +03:00
Andrei Zavatski
6fd3686c4d Use IReadOnlyCollection instead of List in SearchBeatmapSetsRequest 2020-10-28 02:36:35 +03:00
Andrei Zavatski
c4efceceb2 Use char instead of sting for request parameter creation 2020-10-27 23:57:11 +03:00
Andrei Zavatski
008d1d697c Implement filtering by rank achieved 2020-10-27 23:14:48 +03:00
Andrei Zavatski
1710b396e7 Implement BeatmapSearchMultipleSelectionFilterRow 2020-10-27 22:27:29 +03:00
Andrei Zavatski
1b40b56d41 Add ability to search by play criteria 2020-10-27 21:30:53 +03:00
Andrei Zavatski
742a96484b Add ability to set extra parameters to SearchBeatmapSetsRequest 2020-10-27 20:13:18 +03:00
Dean Herbert
c1e7cd6e47 Stop replay playback when frames are starved 2020-10-27 18:58:37 +09:00
Dean Herbert
154ccf1b49 Expose events from streaming client 2020-10-27 18:58:37 +09:00
Dean Herbert
68719bb23d Rename other variables to match 2020-10-27 10:59:24 +09:00
Bartłomiej Dach
7392876b5f Fix mania crashing due to spectator client handling frames with unconverted beatmap 2020-10-27 00:35:25 +01:00
Dean Herbert
dfe07271de Add very basic latency handling to spectator test 2020-10-26 16:31:39 +09:00
Dean Herbert
b86347dc81 Merge branch 'master' into spectator 2020-10-26 13:39:07 +09:00
Dean Herbert
9caa7ff64d Remove debug endpoint 2020-10-26 13:38:05 +09:00
Dean Herbert
e20a986401 Add ruleset to state 2020-10-23 17:24:19 +09:00
Dean Herbert
e99cf369fa Don't worry about EndPlaying being invoked when not playing 2020-10-23 13:33:23 +09:00
Dean Herbert
f11bcfcb8f
Remove unnecessary public specification in interface
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2020-10-23 10:03:33 +09:00
Max Hübner
09d49aa0f7 Add GetSeasonalBackgroundsRequest 2020-10-22 18:25:01 +02:00
Dean Herbert
54d666604b Fix incorrect order of flag settings 2020-10-22 22:56:23 +09:00
Dean Herbert
9f2f8d8cc7 Fix missing licence headers 2020-10-22 19:41:10 +09:00
Dean Herbert
147d502da1 Fix initial play state not being kept locally if not connected 2020-10-22 19:30:07 +09:00
Dean Herbert
ee2513bf4b Add batch sending 2020-10-22 19:17:19 +09:00
Dean Herbert
34e889e66e Don't watch every user in normal gameplay (but allow so in test) 2020-10-22 18:38:03 +09:00
Dean Herbert
1ab6f41b3b Add basic send and receive test 2020-10-22 18:10:27 +09:00
Dean Herbert
c834aa6051 Use APIMod for mod serialization 2020-10-22 17:48:15 +09:00
Dean Herbert
0611b30258 Drop webpack 2020-10-22 17:48:15 +09:00
Dean Herbert
05697dfe68 Add spectator state object support 2020-10-22 17:48:15 +09:00
Dean Herbert
2021945a8c Add retry/error handling logic 2020-10-22 17:48:15 +09:00
Dean Herbert
4788b4a643 Expose oauth access token via api interface 2020-10-22 17:48:15 +09:00
Dean Herbert
175fd512b0 Send frames to streaming client from replay recorder 2020-10-22 17:48:15 +09:00
Dean Herbert
93db75bd41 Begin shaping the spectator streaming component 2020-10-22 17:48:15 +09:00
Dean Herbert
c6db832efa Add xmldoc notes about thread safety of api bindables 2020-10-22 14:56:20 +09:00
Dean Herbert
db4dd3182b Add xmldoc to spectator interfaces 2020-10-22 14:46:21 +09:00
Dean Herbert
b39a4da6bc Add initial classes for spectator support 2020-10-22 14:46:21 +09:00
Dean Herbert
da573c7487 Remove unused usings 2020-10-22 14:44:10 +09:00
Dean Herbert
3fe6f77444 Fix cases of multiple bdl methods 2020-10-22 14:30:49 +09:00
Dean Herbert
9753dab93b Remove IOnlineComponent and change existing components to use bindable flow 2020-10-22 14:19:12 +09:00
Dean Herbert
002ade51fc
Merge pull request #9816 from voidedWarranties/duplicate-multi-room 2020-10-19 19:02:03 +09:00
Dean Herbert
6d22f0e196 Use existing copy method and update xmldoc 2020-10-19 17:15:13 +09:00