1
0
mirror of https://github.com/ppy/osu.git synced 2024-09-22 16:47:24 +08:00
Commit Graph

2478 Commits

Author SHA1 Message Date
Dean Herbert
de076678fe Fix some remaining test failures 2022-01-12 17:00:16 +09:00
Dean Herbert
5c0d31ed24 Replace OnlinePlayBeatmapAvailabilityTracker event flow with realm subscriptions 2022-01-12 17:00:16 +09:00
Dean Herbert
8c4836e87d Replace ScoreDownloadTracker event flow with realm subscriptions 2022-01-12 17:00:16 +09:00
Dean Herbert
00e9f0d41e Replace BeatmapDownloadTracker event flow with realm subscriptions 2022-01-12 17:00:16 +09:00
Dean Herbert
53792811b2 more fixes (almost compiles, except ruleset and manager) 2022-01-12 16:57:27 +09:00
Dean Herbert
aac2aa341c Update some more incorrect types for primary key access/set 2022-01-12 16:57:27 +09:00
Dean Herbert
2a4bee61dd Update many score-related classes to move closer to being able to persist to realm 2022-01-12 16:57:27 +09:00
Dean Herbert
fda529de26 Update usages of APIUser to RealmUser 2022-01-12 16:39:36 +09:00
Dan Balasescu
ef66ec4622 Also fix MessageFormatter tests 2022-01-11 17:55:43 +09:00
Dan Balasescu
3cb5f43f77 Fix incorrect action returned for wiki links in DEBUG mode 2022-01-11 17:46:49 +09:00
Dan Balasescu
af9fad00c3 Merge branch 'master' into async-deadlock-safety 2022-01-10 16:11:09 +09:00
Dean Herbert
00177a3ae1 Update usages to new naming 2022-01-06 22:54:43 +09:00
Dean Herbert
3ea7588a91 Update continuation usages to use GetCompletedResult 2022-01-06 22:53:07 +09:00
Bartłomiej Dach
84765b99b3
Handle score submission request in submission test scene
Was previously not handled at all, therefore displaying request failures
in the test log output. While that was mostly a red herring and
shouldn't have caused any actual *test* failures, it is still better to
handle this explicitly in a realistic manner.
2022-01-06 12:57:26 +01:00
Dean Herbert
73b40e6833 Replace usage of .Result with .WaitSafelyForResult 2022-01-04 11:51:41 +09:00
Bartłomiej Dach
e7d7587ea5
Merge branch 'master' into reduce-chat-overhead 2022-01-01 15:02:55 +01:00
Dean Herbert
1262e76a58 Fix test failure due to missing DI cached IdleTracker 2021-12-31 23:18:03 +09:00
Joseph Madamba
cdc148f78e Increase scope of identifier typo disables on special cases 2021-12-29 14:07:36 -08:00
Joseph Madamba
c22a07d9fc Bump identifier typo inspection and fix remaining identifier names 2021-12-28 11:26:42 -08:00
Bartłomiej Dach
63e0492725
Mark ShouldSerialize() methods as implicitly used 2021-12-28 09:02:03 +01:00
Bartłomiej Dach
bc39c2a877
Revert incorrect property rename 2021-12-28 08:31:27 +01:00
Joseph Madamba
0bd928b5cd Fix incorrect naming / apply review 2021-12-27 21:44:19 -08:00
Joseph Madamba
7de43e3aba Fix most open compound words in identifiers being closed 2021-12-27 20:26:28 -08:00
Joseph Madamba
98524d60a4 Fix clear identifier typos 2021-12-27 20:26:28 -08:00
Dean Herbert
7c25ce81e1 Further reduce chat poll rate when idle or not visible 2021-12-26 16:26:47 +09:00
Bartłomiej Dach
bd1fb33ad6
Add and use separate extensions for historical and upcoming playlist items 2021-12-21 08:01:04 +01:00
Bartłomiej Dach
0975f570ba
Return last playlist item if all expired 2021-12-20 13:49:05 +01:00
Bartłomiej Dach
a5a9922f81
Fix lounge screen content not matching current room playlist item 2021-12-20 13:32:42 +01:00
Bartłomiej Dach
a59583ee09
Add extension method for returning next playlist item 2021-12-20 13:18:02 +01:00
Dean Herbert
33cf4ba7f6
Merge pull request #16075 from smoogipoo/prevent-idle-transition-during-load
Add AbortGameplay() to fix state transition race conditions during multiplayer load
2021-12-15 19:59:19 +09:00
Dan Balasescu
2cea39a92a
Merge pull request #16083 from peppy/fix-online-availability-after-reimport
Fix `OnlinePlayBeatmapAvailabilityTracker` failng after modified reimport of existing beatmap
2021-12-15 08:31:02 +09:00
Dan Balasescu
ee6f125948
Merge pull request #15967 from tbrose/chat-mention-fix
Check word boundaries during username mention matching
2021-12-15 08:04:39 +09:00
Dan Balasescu
9ade8069a1 Rename to AbortGameplay() and handle additional states 2021-12-15 06:40:28 +09:00
tbrose
a831744f05 Merge remote-tracking branch 'origin/chat-mention-fix' into chat-mention-fix 2021-12-14 16:24:05 +01:00
tbrose
8e79fac389 Fixes code quality check failed 2021-12-14 16:23:51 +01:00
Dean Herbert
453ecd21b3 Fix OnlinePlayBeatmapAvailabilityTracker potentially in incorrect state
Adter an import of a modified version of a beatmap (that was already
present in the local database), it's feasible that one of these trackers
would not see the state change due to the nuances of the import process.
2021-12-14 19:16:11 +09:00
Dean Herbert
cebfeb5220
Merge pull request #16045 from smoogipoo/multiplayer-local-beatmap-query
Rework multiplayer's current item tracking
2021-12-14 18:33:30 +09:00
Dan Balasescu
51b6b9d857
Merge branch 'master' into chat-mention-fix 2021-12-14 11:49:57 +09:00
Dan Balasescu
2f1dc91211 Add AbortLoad() method to abort gameplay loads 2021-12-14 11:30:42 +09:00
Dan Balasescu
7564658b5e Reduce to 30s 2021-12-14 06:40:45 +09:00
Dan Balasescu
fd979a52fe Increase score submission request timeout to 60s 2021-12-13 07:15:21 +09:00
Dan Balasescu
bf3abb2455
Merge branch 'master' into multiplayer-local-beatmap-query 2021-12-12 16:37:41 +09:00
Dan Balasescu
cdb8237a4b
Merge branch 'master' into pre-realm-score-tidy 2021-12-11 19:25:39 +09:00
Dan Balasescu
6057037e35 Move playlist item beatmap population to MatchSubScreen 2021-12-10 20:08:59 +09:00
Dean Herbert
c9f6c5c673 Add MatchesOnlineID implementation for IScoreInfo 2021-12-10 18:34:31 +09:00
Dean Herbert
c6d0d6451d Change IScoreInfo.User to an interface type 2021-12-10 16:11:49 +09:00
Dean Herbert
bff02bedbf Rename APIScoreInfo to APIScore 2021-12-10 16:11:49 +09:00
Dean Herbert
dbb08f7d46 Use OnlineID for set operations 2021-12-10 16:11:48 +09:00
Dean Herbert
bf1418bafc Use OnlineID instead of legacy IDs for equality and lookups 2021-12-10 16:11:48 +09:00
Dan Balasescu
de0f37b08d Separate editing and adding playlist items 2021-12-10 15:26:48 +09:00
Dan Balasescu
c34c580ad4 Add client-side + interface implementation 2021-12-09 03:08:59 +09:00
Dan Balasescu
ce081c4acc Fix missing propagation of OwnerId in tests 2021-12-09 02:01:17 +09:00
Dan Balasescu
52230a6f00
Merge branch 'master' into multiplayer-delayed-playlist-load-broken 2021-12-07 22:45:05 +09:00
tbrose
882223b27f Using static call and verbatim symbol and optimizes regex pattern for username check 2021-12-07 02:38:10 +01:00
tbrose
b6d47a41f4 Adjusted RegEx pattern to also take special characters into account 2021-12-07 02:14:40 +01:00
Salman Ahmed
974987550f Move API request response size log to correct logging target 2021-12-07 04:01:56 +03:00
tbrose
7a0d4fca17 Fixes using Matches+Count instead of IsMatch negatively affecting performance 2021-12-07 01:41:21 +01:00
tbrose
f02e44d552 Fixes not matching coding style 2021-12-07 01:38:48 +01:00
tbrose
39594b7362 Fixes detection of mentioning of user falsely detects messages where the username is coincidentally contained in words of a message. 2021-12-06 23:32:21 +01:00
tbrose
0a6c221de4 Adds tests for checkContainsUsername function of MessageNotifier component 2021-12-06 22:07:47 +01:00
Dean Herbert
7a333ffdcc Add a paired schedule in SpectatorClient.BeginPlaying
Optimally, I would like to remove the `Schedule` in `EndPlaying`, but it
turns out quite a few test are relying on this at very least. Adding a
paired schedule ensure that order of operations is correct, at least.
2021-12-06 17:07:19 +09:00
Dean Herbert
ca1f96d2c2 Reword xmldoc of MultiplayerPlaylistItem.PlaylistOrder to better match actual behaviour 2021-12-06 13:03:14 +09:00
Dean Herbert
5ff452cc9a Update success bool to access Exception to stop exceptions from firing outwards 2021-12-06 12:29:11 +09:00
Dean Herbert
91aa38c4f6 Change playlist lookup to fail hard when failing 2021-12-06 12:28:48 +09:00
Bartłomiej Dach
38702beabf
Merge branch 'master' into i-ruleset-store 2021-12-04 15:05:39 +01:00
Dean Herbert
517a344bcc
Merge branch 'master' into new-multiplayer-playlist 2021-12-04 13:16:09 +09:00
Dan Balasescu
d5803e541b Give playlist items a PlayedAt date 2021-12-03 20:25:51 +09:00
Dean Herbert
1eed2436e6 Clean up unused resolved properties 2021-12-03 18:49:49 +09:00
Dean Herbert
2acf46154a Remove many unused resolutions of RulesetStore 2021-12-03 18:16:29 +09:00
Dean Herbert
e75e209053 Cache and consume IRulesetStore where feasible 2021-12-03 18:16:01 +09:00
Dean Herbert
dad5b06e84 Avoid sending empty parameters in GetBeatmapRequest 2021-12-03 16:23:39 +09:00
Dan Balasescu
0a1304b92a Remove gameplay_order, use existing playlist_order 2021-12-03 15:45:13 +09:00
Dan Balasescu
1d2d1bfcf3 Add UpdatedAt to MultiplayerPlaylistItem 2021-12-03 15:05:56 +09:00
Dan Balasescu
ba8af303cc Add GameplayOrder to MultiplayerPlaylistItem 2021-12-02 22:33:14 +09:00
Dean Herbert
5976982b12 Add missing xmldoc for MultiplayerClient events 2021-12-02 16:45:26 +09:00
Dean Herbert
624ec4580a Ensure updateLocalRoomSettings is only called after full population 2021-12-02 14:32:39 +09:00
Dean Herbert
a0ff86f5e8 Ensure all read and write operations on APIRoom are done on the update thread 2021-12-01 22:43:03 +09:00
Dan Balasescu
89c47708a1 Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:35:23 +09:00
Dan Balasescu
17bc0b51aa Merge branch 'playlist-item-add-owner' into new-multiplayer-playlist 2021-12-01 21:33:48 +09:00
Dan Balasescu
942e48ffbd Merge branch 'master' into new-multiplayer-playlist 2021-12-01 21:33:11 +09:00
Dan Balasescu
c38537a51a Initial implementation of MultiplayerPlaylist 2021-12-01 21:32:56 +09:00
Dan Balasescu
42ad726154
Merge branch 'master' into multiplayer-delayed-playlist-load-broken 2021-12-01 20:28:29 +09:00
Dan Balasescu
af704dfe5b
Merge pull request #15878 from peppy/beatmap-lookup-cache
Cache beatmap metadata lookups used by multiplayer
2021-12-01 20:13:21 +09:00
Dean Herbert
81f82c24c3 Use new API endpoint to do batch lookups 2021-12-01 17:45:41 +09:00
Dan Balasescu
7d0135063e
Merge pull request #15875 from peppy/fix-match-type-propagation
Fix match type not being propagated correctly to other users' settings
2021-12-01 11:23:28 +09:00
Dean Herbert
fe119da044 Add fetching of beatmap and user data when playlist panels come on screen 2021-11-30 19:52:36 +09:00
Bartłomiej Dach
23dd21339d Delay online fetch of non-current playlist item on room join 2021-11-30 19:44:50 +09:00
Dean Herbert
01bc330d1c Rename method to match new purpose 2021-11-30 19:42:46 +09:00
Dean Herbert
f58c5cd9c0 Update MultiplayerClient to use BeatmapLookupCache 2021-11-30 19:36:25 +09:00
Dean Herbert
23e297d414 Log output response sizes
Visibility is the first step towards action. Or something.
2021-11-30 19:09:13 +09:00
Dean Herbert
25b9575de0 Fix missing transfer of match type to settings 2021-11-30 17:09:40 +09:00
Dan Balasescu
8541db1e85 Merge branch 'master' into playlist-item-add-owner 2021-11-26 17:13:23 +09:00
Dan Balasescu
8a941fa422 Add owner id to PlaylistItem 2021-11-25 21:41:03 +09:00
Dan Balasescu
f712aeee01
Merge pull request #15795 from peppy/realm-integration/separate-download-flow
Split out download logic from main manager classes
2021-11-25 20:59:23 +09:00
Dean Herbert
e2ebcf7a26 Remove unnecessary manager parameter
Confused why I added this in the first place..
2021-11-25 18:36:03 +09:00
Dean Herbert
a2ab9f457d Move score download logic out of ScoreManager 2021-11-25 17:33:04 +09:00
Dean Herbert
716543b5b3 Move beatmap download logic out of BeatmapManager 2021-11-25 17:29:41 +09:00
Dean Herbert
cc1b91e4bd Split out legacy model export logic into LegacyModelExporter classes 2021-11-25 16:41:12 +09:00
Dean Herbert
7488ccd5fe Update all models to implement IHasNamedFiles 2021-11-25 16:41:12 +09:00
Dan Balasescu
ce8500a732
Merge branch 'master' into remove-model-file-list-inits 2021-11-24 19:46:42 +09:00
Dean Herbert
183b95cbc2 Rename BeatmapSetOnlineStatus to BeatmapOnlineStatus
This variable is used at more than just a set level.
2021-11-24 18:42:49 +09:00
Dean Herbert
ddbd4f9473 Merge branch 'master' into remove-model-file-list-inits 2021-11-24 18:39:01 +09:00
Dean Herbert
bbd3ea5b77 Update all actual usages of RulesetInfo.ID to use OnlineID instead 2021-11-24 15:50:26 +09:00
Dean Herbert
f283770f34 Update mock RulesetInfo usage to set OnlineID instead of ID 2021-11-24 15:50:26 +09:00
Dean Herbert
99a139dc98 Initialise all file lists at construction time (and remove setter) 2021-11-24 13:56:21 +09:00
Dan Balasescu
79a8e60468 Resolve inspection 2021-11-23 17:55:04 +09:00
Dan Balasescu
7906ae2b1d Update room immediately on join 2021-11-23 16:03:37 +09:00
Dan Balasescu
0633f3bcfe Add owner id to playlist items 2021-11-22 16:35:58 +09:00
Dan Balasescu
f64d20ed71 Fix APIRoom queue mode not updated on change 2021-11-22 13:46:01 +09:00
Dan Balasescu
4b498c7bd6 Merge branch 'master' into multi-queueing-modes 2021-11-22 07:46:45 +09:00
Salman Ahmed
af01b0ed48 BASE_DERIVED -> BASE_TYPE_MAPPING 2021-11-21 06:30:14 +03:00
Salman Ahmed
915bde6f96 Remove unnecessary MatchServerEvent mapping 2021-11-21 06:09:45 +03:00
Salman Ahmed
8b28bf31f6 Separate SignalR workaround types away from resolver 2021-11-20 15:11:02 +03:00
Salman Ahmed
0342923408 Fix SignalR messagepack formatter potentially initializing on iOS 2021-11-19 20:04:31 +03:00
Dan Balasescu
4c8c34b43f Use full name for round robin 2021-11-19 18:42:34 +09:00
Dan Balasescu
4e625b78e2 Update queue mode names 2021-11-19 18:28:43 +09:00
Dan Balasescu
f3f8ac2c43 Use single 2021-11-19 16:36:32 +09:00
Dan Balasescu
abb8b0de47 Also mutate multiplayer room playlist on callbacks 2021-11-19 16:35:45 +09:00
Dean Herbert
0c289bf8e5 Remove pointless namespace 2021-11-19 14:46:53 +09:00
Dan Balasescu
1dacc50ecb Merge branch 'master' into multi-queueing-modes 2021-11-18 15:16:27 +09:00
Dan Balasescu
e4aec3f519
Merge pull request #15648 from peppy/playlist-show-invalid-beatmaps
Highlight invalid playlist items during room creation
2021-11-17 22:24:22 +09:00
Dean Herbert
7c2e79f911 Update all simple cases of switching to IWorkingBeatmap 2021-11-17 20:56:57 +09:00
Dean Herbert
f74afb48fd Fix StandAloneChatDisplay's TextBox having different corner radius 2021-11-16 17:50:57 +09:00
Dean Herbert
6dd684588a Merge branch 'master' into playlist-show-invalid-beatmaps 2021-11-16 17:25:33 +09:00
Dean Herbert
aa188d5a52 Add ability for playlist items to be marked as invalid 2021-11-16 17:01:24 +09:00
Dan Balasescu
ddf2fade1a
Merge branch 'master' into playlist-item-iruleset 2021-11-16 16:19:10 +09:00
Dan Balasescu
c8038df509 Fix CI inspections 2021-11-16 16:06:30 +09:00
Dan Balasescu
00f0321f25 Add nullable equality comparers 2021-11-16 15:44:47 +09:00
Dan Balasescu
29d0d5badf Rename QueueModes -> QueueMode 2021-11-16 14:53:10 +09:00
Dan Balasescu
01f3649d75 Rename variables for readability 2021-11-16 14:44:47 +09:00
Dan Balasescu
f414877d00 Rename UserID -> OwnerID 2021-11-16 14:37:54 +09:00
Dean Herbert
71fef241df Fix recursive equality call on APIBeatmap and APIBeatmapSet 2021-11-16 14:13:47 +09:00
Dan Balasescu
9076519710 Give MultiplayerRoom a playlist, remove RequestAllPlaylistItems() 2021-11-16 14:13:43 +09:00
Dean Herbert
9207b87b76 Add back interface equality but limit to only matching types 2021-11-16 12:35:18 +09:00
Dan Balasescu
f0593115b2 Remove RemovePlaylistItem() server method for the time being 2021-11-16 12:08:53 +09:00
Dan Balasescu
f743a3647f Rename APIPlaylistItem -> MultiplayerPlaylistItem 2021-11-15 23:14:27 +09:00
Dean Herbert
5489b19c57 Update PlaylistItem to use IRulesetInfo 2021-11-15 16:13:03 +09:00
Dean Herbert
611b9fe942 Remove now unused implementations of interface equality 2021-11-15 14:50:09 +09:00
Dean Herbert
285b161da7 Update other usages of online ID comparisons to use new extension method 2021-11-15 14:44:08 +09:00
Dan Balasescu
ce47f456ec Change API for retrieving playlist items on join 2021-11-13 04:42:14 +09:00
Dan Balasescu
dbc23e224f Fix further test failures 2021-11-13 03:34:45 +09:00
Dan Balasescu
25202316cc Add user id to APIPlaylistItem 2021-11-13 00:23:35 +09:00
Dan Balasescu
3b24ec3643 Merge branch 'master' into multi-queueing-modes 2021-11-12 22:16:04 +09:00
Dean Herbert
9f7e2750a5 Merge branch 'master' into beatmap-collection-inteface-types 2021-11-12 19:41:29 +09:00
Dean Herbert
54cd1158a4 Add IBeatmapSetInfo equality support 2021-11-12 18:16:36 +09:00
Dean Herbert
a67e156883 Add IBeatmapInfo equality support 2021-11-12 18:11:33 +09:00
Dean Herbert
692e846acd Rename BeatmapSetInfo.OnlineBeatmapSetID to OnlineID to match interface 2021-11-12 17:52:44 +09:00
Dean Herbert
6a098a8634 Rename BeatmapInfo.OnlineBeatmapID to OnlineID to match interface 2021-11-12 17:46:24 +09:00
Dan Balasescu
07a7b4bcdc Merge branch 'master' into multi-queueing-modes 2021-11-11 22:19:30 +09:00
Dean Herbert
98fa253e1e Replace usage of TypeNameHandling.All with custom type converter 2021-11-11 14:04:19 +09:00
Dean Herbert
16418ac2ab Remove outdated comments 2021-11-11 14:02:12 +09:00
Dan Balasescu
1bc6a58528 Fix RoomUpdated() not invoked on item changes 2021-11-10 21:23:18 +09:00
Dan Balasescu
78793d8624 Update interface to remove items 2021-11-10 19:58:25 +09:00
Dan Balasescu
71f3a64165 Fix APIPlaylistItem serialisation 2021-11-10 18:25:14 +09:00
smoogipoo
35a5182ebf Merge branch 'master' into multi-queueing-modes 2021-11-10 15:01:13 +09:00
Bartłomiej Dach
5cb533004d
Add test coverage for favourite button 2021-11-08 11:53:53 +01:00
smoogipoo
c716051530 Merge branch 'master' into multi-queueing-modes 2021-11-08 19:19:50 +09:00
Dean Herbert
8b85c2c8de
Merge pull request #15491 from peppy/remove-stupid-weak-reference-bindable-events
Revert weird event flow in model manager/importers
2021-11-08 15:19:58 +09:00
Dan Balasescu
b5a6fd3f00
Merge pull request #15517 from peppy/fix-beatmap-wedge-user-display
Fix `LinkFlowContainer` not creating user links supporting full `IUser` specification
2021-11-08 15:06:28 +09:00
Dean Herbert
a2dfb5fd8c
Merge pull request #15513 from bdach/beatmap-card/statistics
Add statistics display to beatmap card
2021-11-08 14:45:56 +09:00
Dean Herbert
6b6dd93e9e Fix LinkFlowContainer not creating user links supporting full IUser specification 2021-11-08 14:17:47 +09:00
Dean Herbert
78aef9ce86
Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-08 13:35:49 +09:00
Dean Herbert
1589b50d6e Merge branch 'master' into beatmap-card/statistics 2021-11-08 13:28:31 +09:00
Bartłomiej Dach
c0b5b0e909
Add new statistic types to online info 2021-11-07 21:33:41 +01:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Dean Herbert
96ef210a4d Fix backward state set 2021-11-06 16:45:55 +09:00
Dean Herbert
bc17446055 Merge branch 'master' into user-lookup-by-username-cleanup 2021-11-06 14:38:30 +09:00
Dean Herbert
2881ce0f5a Merge branch 'master' into remove-stupid-weak-reference-bindable-events 2021-11-06 14:08:39 +09:00
Dean Herbert
9a7c75508e Merge branch 'master' into user-class-cleanup 2021-11-05 19:56:18 +09:00
Dean Herbert
54f72d68ca Revert weird event flow in model manager/importers 2021-11-05 19:12:49 +09:00
Dean Herbert
6c385ccd29 Move second generic to abstract model downloader rather than interface type 2021-11-05 17:37:05 +09:00
smoogipoo
aee0f39c80 Merge branch 'master' into multi-queueing-modes 2021-11-05 16:06:41 +09:00
smoogipoo
7bbb2a7a67 Fix post-merge issues 2021-11-05 15:57:32 +09:00
smoogipoo
e6deb0c873 Merge branch 'master' into multi-queueing-modes 2021-11-05 15:57:25 +09:00
Dean Herbert
f2700b0a6d Expose bot state via interface 2021-11-05 13:40:44 +09:00
Dean Herbert
ead64282dd Split out a couple more nested classes 2021-11-05 13:40:44 +09:00
Dean Herbert
86540d1fb6 Update existing usages of Author as string to access Username directly 2021-11-04 18:57:54 +09:00
Dean Herbert
b9983add15 Rename User to APIUser and move to correct namespace 2021-11-04 18:21:31 +09:00
Dean Herbert
eb17d897a3 Finally, remove the To* methods as they have no usages 2021-11-04 17:09:53 +09:00
Dean Herbert
7bab487621 Remove usage of ToBeatmapInfo in APIScoreInfo.CreateScoreInfo 2021-11-04 17:09:53 +09:00
Dean Herbert
8f459e6ce8 Fix APIBeatmapSet.Beatmaps being IEnumerable, causing stupid issues 2021-11-04 16:44:17 +09:00
Dean Herbert
9c926e5514 Remove BeatmapSetInfo.OnlineInfo and all usages 2021-11-04 15:23:04 +09:00
Dean Herbert
0ab50f1cc9 Add inline comment explaining why we are manually populating beatmap.BeatmapSet 2021-11-04 13:45:59 +09:00
Dean Herbert
9f9c960fe3 Revert PlaylistItem.APIBeatmap to be private 2021-11-04 13:36:32 +09:00
Dean Herbert
05f1fd4bc9 Remove unnecessary properties and parameters 2021-11-04 13:33:54 +09:00
Dean Herbert
3453160a8b Change PlaylistItem.Beatmap to be an IBeatmapInfo 2021-11-04 13:16:56 +09:00
Dean Herbert
1d8e253112 Expose PlaylistItem.APIBeatmap for now 2021-11-04 11:53:26 +09:00
Dean Herbert
d85224d7ad Merge branch 'master' into localisable-text-flow 2021-11-03 17:09:46 +09:00
Bartłomiej Dach
195a141625
Fix score tracker not tracking non-online scores correctly 2021-11-02 22:51:25 +01:00
Bartłomiej Dach
11de924704
Use LocalisableStrings where possible to leverage localisable text flow 2021-11-02 21:42:02 +01:00
Dean Herbert
fe9b8f3274
Merge pull request #15432 from peppy/fix-beatmap-availability-potentially-wrong
Fix multiplayer potentially getting incorrect beatmap availability state after changing beatmaps
2021-11-03 04:54:22 +09:00
Dean Herbert
a97e5fbd89
Merge pull request #15431 from peppy/fix-unauth-api-requests
Fix unauthenticated API requests no longer working
2021-11-03 04:35:48 +09:00
Dean Herbert
85037dfb70 Fix multiplayer potentially getting incorrect beatmap availability state after changing beatmaps 2021-11-03 04:32:21 +09:00
Dean Herbert
f67f42dc5b
Merge pull request #15430 from bdach/fix-multi-submission
Fix multiplayer score submission not working
2021-11-03 04:10:23 +09:00
Dean Herbert
51e92e1b2d Check for null/empty instead 2021-11-03 04:09:31 +09:00
Dean Herbert
8d0b32981f Fix unauthenticated API requests no longer working 2021-11-03 03:30:15 +09:00
Bartłomiej Dach
c028275d6c
Fix multiplayer score submission not working 2021-11-02 19:16:44 +01:00
Dean Herbert
c85a4dca28 Fix crash when attempting to view global leaderboards 2021-11-03 02:47:33 +09:00
Dean Herbert
135df0e190 Avoid adding null users to RecentParticipants 2021-11-02 17:13:37 +09:00
Dean Herbert
b0bd39fc49 Fix multiplayer room participants display not updating as new users join/leave
Can add tests on request, but not sure the code around this area is here
to stay permanently. Should be pretty low risk.

- Closes https://github.com/ppy/osu/issues/14788.
2021-11-02 17:13:37 +09:00
Dean Herbert
3a5aed1182 Ensure APIScoreInfo.Mods is non-null 2021-11-01 22:59:12 +09:00
Dean Herbert
caa9d8997b Merge branch 'master' into score-refactor/less-create-score-info 2021-11-01 22:59:11 +09:00
Bartłomiej Dach
5dcff7d8b7
Merge branch 'master' into score-refactor/less-create-score-info 2021-11-01 11:41:20 +01:00
Dan Balasescu
95b1f5830d
Merge branch 'master' into beatmap-refactor/beatmap-overlays 2021-11-01 19:32:07 +09:00
Dan Balasescu
8c38698506
Merge pull request #15363 from peppy/beatmap-refactor/get-and-present
Update `GetScoreRequest` and `PresentBeatmap` to accept interface types
2021-11-01 19:28:28 +09:00
smoogipoo
65b920e4c1 Merge branch 'master' into multi-queueing-modes 2021-11-01 18:37:16 +09:00
Dan Balasescu
65d2b54ef6
Merge pull request #15387 from bdach/fix-score-download-tracker
Fix incorrect state transition in score download tracker
2021-11-01 18:36:35 +09:00
Dean Herbert
b21e0e7efb Merge branch 'beatmap-refactor/get-and-present' into beatmap-refactor/beatmap-overlays 2021-11-01 18:07:51 +09:00
Dean Herbert
602fe372c2 Merge branch 'score-refactor/isolated-serialisation' into beatmap-refactor/get-and-present 2021-11-01 18:06:53 +09:00
Bartłomiej Dach
cd4681496a
Fix incorrect state transition in score download tracker 2021-11-01 09:35:02 +01:00
Dean Herbert
722e0d50bb Fix BeatmapInfo not being correctly populated in CreateScoreInfo call 2021-11-01 15:54:39 +09:00
Dean Herbert
b98faf6159 Merge branch 'master' into score-refactor/isolated-serialisation 2021-11-01 15:49:25 +09:00
smoogipoo
94dce3f92a Remove whitespace 2021-11-01 15:43:19 +09:00
Dean Herbert
227963047a Fix hash validity check function returning incorrect results after soft deleting a beatmap
The soft-deleted one would potentially match before the newly imported
copy, resulting in a false-positive hash mismatch.
2021-11-01 15:15:45 +09:00
Dean Herbert
708b57348d Change loose api ordering requirement to throw instead 2021-11-01 13:22:16 +09:00
Dean Herbert
269a8df0ec Fix HasReplay not being corrrectly implemented by APIScoreInfo 2021-11-01 13:20:37 +09:00
Dean Herbert
19feae4a8e
Merge branch 'master' into beatmap-refactor/download-tracker 2021-11-01 13:15:36 +09:00
Bartłomiej Dach
8053b2c320
Merge branch 'master' into score-refactor/isolated-serialisation 2021-10-30 15:07:34 +02:00
Dean Herbert
5311fe2d02
Merge branch 'master' into beatmap-refactor/beatmap-overlays 2021-10-29 22:37:29 +09:00
Dean Herbert
a16c8f1ebc Update all beatmap overlay views to use APIBeatmap/APIBeatmapSet 2021-10-29 18:50:55 +09:00
Dean Herbert
b8ee7e05f4 Expose more pieces of APIBeatmap for testing purposes 2021-10-29 18:35:27 +09:00
Dean Herbert
8ad33d43d0 Merge branch 'beatmap-refactor/get-and-present' into beatmap-refactor/beatmap-overlays 2021-10-29 18:01:17 +09:00
Dean Herbert
b5834044e0 Update GetScoreRequest to support requests with interface types 2021-10-29 17:43:39 +09:00
smoogipoo
2408011c81 Don't replace identical playlist items 2021-10-29 16:44:51 +09:00
smoogipoo
f732c44265 Fix broken equality comparer 2021-10-29 16:23:10 +09:00
smoogipoo
42dfb341da Fix PlaylistItemChanged() not updating current item 2021-10-29 15:44:42 +09:00
Dean Herbert
17a83f701a Store mods as APIMods for the time being 2021-10-29 15:13:49 +09:00
Dean Herbert
06b6bcfd29 Add xmldoc for CreateScoreInfo function for now
I don't actually know how temporary this one is going to be. The usages
are quite deep - ie. converting to a `ScoreInfo` to get a calculated
total score for ordering purposes.
2021-10-29 14:51:07 +09:00
Dean Herbert
f68d6dbc8f Update score submission serialisation tests to use SubmittableScore 2021-10-29 14:32:31 +09:00
Dean Herbert
cd7bd935f6 Remove Statistics from interface until we figure how to properly deserialise 2021-10-29 14:18:10 +09:00
Dean Herbert
3f030cebf4 Remove local score copying in GetScoresRequest to allow APIScoreInfo.Beatmap to be APIBeatmap 2021-10-29 14:14:25 +09:00
Dean Herbert
54073d8a1e Isolate score submissions model and remove serialisation from ScoreInfo 2021-10-29 14:13:43 +09:00
Dean Herbert
1944c255a7 Implement score interfaces 2021-10-29 13:49:30 +09:00
Dean Herbert
817369903a Rename API score classes 2021-10-29 13:40:56 +09:00
Bartłomiej Dach
6f863ca204
Adjust game-side text flow containers to part-based model 2021-10-29 06:34:08 +02:00
Dean Herbert
f3811edb0b Add inline comment explaining usage of RequiresChildrenUpdate override 2021-10-29 11:57:54 +09:00
Dean Herbert
dc44734db2 Simplify null check in ScoreDownloadTracker and remove unnecessary ID check 2021-10-29 11:56:17 +09:00
Dean Herbert
75a088d4f4 Fix variable name mismatch 2021-10-29 11:54:42 +09:00
Dean Herbert
748003b016 Simplify Manager null check to a single pre-check 2021-10-29 11:54:19 +09:00
Dean Herbert
3b095e1626 Merge branch 'master' into beatmap-refactor/download-tracker 2021-10-29 11:50:54 +09:00
smoogipoo
f076b72fbe Merge branch 'master' into multi-queueing-modes 2021-10-29 10:48:16 +09:00
Dan Balasescu
44ba4419a2
Merge branch 'master' into beatmap-refactor/tournament 2021-10-28 15:25:34 +09:00
Dean Herbert
290f583ae0 Fix incorrect initial state 2021-10-28 00:59:48 +09:00
Dean Herbert
746d6a4c16 Fix some oversights and test failures 2021-10-27 23:42:27 +09:00
Dean Herbert
dd06c617b1 Update OnlinePlayBeatmapAvailabilityTracker in line with new download tracker
The structure here has changed a bit - rather than deriving from the
donwload tracker I moved the additional logic into the callbacks. I
think this feels better?
2021-10-27 21:00:46 +09:00
Dean Herbert
6339064dbd Remove old versions of DownloadTrackingComposite 2021-10-27 21:00:46 +09:00
Dean Herbert
692db9a9ec Remove unnecessary verification flow from score download tracking 2021-10-27 21:00:46 +09:00
Dean Herbert
9015ac6ba8 Implement new version of download tracker 2021-10-27 21:00:46 +09:00
Dean Herbert
db6343c44c Correctly redirect BPM from API to interface 2021-10-27 17:09:51 +09:00
Dean Herbert
40d963fc8a Allow setting of APIBeatmap.Length (and don't serialise twice) 2021-10-27 16:44:21 +09:00
Dean Herbert
95837990f3 Apply some second-pass inspections that appeared after previous changes 2021-10-27 13:09:30 +09:00
Dean Herbert
6944151486 Apply batch fixing of built-in types using var 2021-10-27 13:04:41 +09:00
Dan Balasescu
f687ed8599
Merge pull request #15283 from peppy/test-api-beatmap-set
Add ability to make test `APIBeatmapSet`s from test scenes
2021-10-26 15:34:19 +09:00
Dan Balasescu
efe6763226
Merge branch 'master' into move-online-beatmap-metrics 2021-10-26 14:24:40 +09:00
Dan Balasescu
676e7ff2a6
Merge pull request #15287 from peppy/get-beatmap-request-via-interface
Allow API beatmap requests using interface type
2021-10-26 13:50:46 +09:00
Dean Herbert
d7ac94038a Update GetBeatmapRequest to use AddParameter 2021-10-26 12:05:31 +09:00
Bartłomiej Dach
a49a1f41cb
Merge branch 'master' into move-online-beatmap-metrics 2021-10-25 20:33:49 +02:00
Dean Herbert
b65d199f6a Fix incorrect length when calling APIBeatmap.ToBeatmapInfo 2021-10-25 17:01:47 +09:00
Dean Herbert
6adb0f068b Fix multiple issues with json serialisation of online info (causing tournament failures) 2021-10-25 16:52:50 +09:00
Dean Herbert
67ef1c40e6 Allow API beatmap requests using interface type 2021-10-25 15:59:40 +09:00
Dean Herbert
2c308f3008 Rename BeatmapMetrics to APIFailTimes 2021-10-25 15:34:41 +09:00
Dean Herbert
20baae9094 Move online metrics out of BeatmapInfo model 2021-10-25 15:32:18 +09:00
Dean Herbert
045dd94a6e Move online metrics out of BeatmapSetInfo model 2021-10-25 15:12:39 +09:00
Dean Herbert
19312435d0 Add ability to make test APIBeatmaps from test scenes
Allow tests to create a sample `APIBeatmapSet`

One step towards removing calls to `ToBeatmap` / `ToBeatmapSet`.
2021-10-25 14:18:13 +09:00
smoogipoo
7d910ebb57 Add SignalR binding for PlaylistItemChanged 2021-10-22 22:37:08 +09:00
smoogipoo
76eff7f6b1 Fix incorrect indexing 2021-10-22 21:57:29 +09:00
Dean Herbert
c701579c69 Refactor BeatmapMetadataContainer and usages to use interface types 2021-10-22 21:38:50 +09:00
smoogipoo
6775151c30 Add Expired bool to APIPlaylistItem 2021-10-22 21:36:36 +09:00
Dean Herbert
28d8820976
Merge pull request #15224 from peppy/no-more-beatmap-metadata-base
Remove `BeatmapMetadata` base class from API classes
2021-10-22 21:07:29 +09:00
smoogipoo
ec02e16c81 Add playlist item change event 2021-10-22 20:53:45 +09:00
smoogipoo
4e6a02bde9 Fix missing QueueMode copies 2021-10-22 20:14:04 +09:00
smoogipoo
db87e42d47 Remove beatmap/ruleset/etc from MultiplayerRoomSettings 2021-10-22 16:48:28 +09:00
Dean Herbert
ea473428e8 Fix incorrect length mapping in APIBeatmap 2021-10-22 15:54:40 +09:00
Dean Herbert
de33b2f45a Return set metadata if available before falling back to empty object 2021-10-22 15:00:31 +09:00
smoogipoo
a1c9b56083 Rename modes 2021-10-22 12:55:37 +09:00
Dean Herbert
fb7cf35481 Remove BeatmapMetadata base class from APIBeatmap 2021-10-21 21:48:14 +09:00
Dean Herbert
6dd54a417f Remove BeatmapMetadata base class from APIBeatmapSet 2021-10-21 21:32:07 +09:00
Dean Herbert
c580ec865f APIBeatmapSet.Covers is never null 2021-10-21 19:34:01 +09:00
Dean Herbert
0fe0b5dc09 APIBeatmap implements IBeatmapInfo 2021-10-21 19:14:31 +09:00
Dean Herbert
40a176e86e APIBeatmapSet implements IBeatmapSetInfo 2021-10-21 19:14:19 +09:00
Dan Balasescu
8ae05ee8f7
Merge branch 'master' into online-info-as-interface 2021-10-21 17:14:57 +09:00
smoogipoo
f41cf822b0 Rename request 2021-10-21 17:02:11 +09:00
Dean Herbert
0706ad70fb Move BeatmapSetOnlineInfo to an interface type 2021-10-21 16:58:42 +09:00
Dean Herbert
a5c155bc87 Remove APIPlaylistBeatmap subclass 2021-10-21 16:43:46 +09:00
smoogipoo
691e414acb Add request to add a new playlist item 2021-10-20 21:08:58 +09:00
smoogipoo
67090fc598 Re-namespace enum 2021-10-20 20:52:16 +09:00
smoogipoo
599867a3b1 Add implementation to settings overlay 2021-10-20 20:29:06 +09:00
smoogipoo
0b8edb0812 Add english descriptions 2021-10-20 17:50:02 +09:00
smoogipoo
116ce09e49 Merge branch 'master' into multi-queueing-modes 2021-10-20 17:27:25 +09:00
smoogipoo
ea9c070e59 Add setting for queue mode 2021-10-20 14:51:59 +09:00
Dean Herbert
ad112cbbc5 Fix intendation in a way it doesn't regress with older inspectcode 2021-10-18 14:28:29 +09:00
Dean Herbert
6d6eed61aa Fix new indentation inspections 2021-10-18 14:00:35 +09:00
smoogipoo
6f89e30f56 Add QueueingMode to MultiplayerRoomSettings 2021-10-15 20:17:19 +09:00
smoogipoo
80dfd11c90 Remove unnecessary extra task
Further testing shows continuations also run before the .Wait() returns.
2021-10-15 13:28:02 +09:00
smoogipoo
e6ee360511 Fix intermittent multiplayer tests 2021-10-15 00:10:39 +09:00
smoogipoo
2784ba1423 Add queueing modes 2021-10-14 16:34:23 +09:00
smoogipoo
fdf7142711 Remove Room.Position 2021-10-13 21:24:54 +09:00
Gagah Pangeran Rosfatiputra
47c7701e47
handle changelog link in message formatter 2021-10-12 09:57:47 +07:00
Gagah Pangeran Rosfatiputra
e0c54e3207
add OpenChangelog link action 2021-10-12 09:37:11 +07:00
Dean Herbert
3803f2f462 Fix leaderboard potentially displaying the wrong scores
Closes #14762.

This class is ugly. I think the whole process should be clened up once
we have correctly-scheduled `SynchronizationContext`s. There's not much
saving it as long as all these interdispersed `Schedule`s around
required.
2021-10-06 16:07:29 +09:00