1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-06 15:17:28 +08:00
Commit Graph

2385 Commits

Author SHA1 Message Date
Dean Herbert
c8c0ae5658
Merge branch 'master' into flush-frames-end-play 2022-01-31 15:12:41 +09:00
Dean Herbert
610eb9f6a4 Remove unnecessary container level 2022-01-31 13:45:49 +09:00
Dean Herbert
f8939af5e6 Track loading via state as well 2022-01-31 01:12:03 +09:00
Dean Herbert
1cec76df74
Fix weird reading xmldoc
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-01-30 23:18:40 +09:00
Dean Herbert
04dbb5d3c6 Disallow setting "NoScores" externally as it is handled internally 2022-01-30 16:18:19 +09:00
Dean Herbert
acc1199add Consolidate flows of Set operations, either result or error 2022-01-30 16:16:00 +09:00
Dean Herbert
c401629dd8 Also refactor placeholder logic to make more sense 2022-01-30 10:50:32 +09:00
Dean Herbert
b434e29a7c Move loading hide operation inside early return to ensure not hidden too early
It should only be hidden after the async load completes.
2022-01-30 03:10:15 +09:00
Dean Herbert
dad9cc9315 Ensure Reset/Scores_Set run inline where possible 2022-01-30 03:06:29 +09:00
Dean Herbert
9b573fbc2b Add missing entries to switch statement and guard against out of range 2022-01-30 02:58:53 +09:00
Dean Herbert
d21464ea61 Fix assertions to work in both directions 2022-01-30 02:54:51 +09:00
Dean Herbert
d3cb910cf8 Convert inline math to not so inline to make operation more explicit 2022-01-30 02:37:01 +09:00
Dean Herbert
3d771c0fc7 Remove unnecessary loading hide call from PlaceholderState_Set and add more assertiveness 2022-01-30 02:34:31 +09:00
Dean Herbert
6f54f8ad78 Add more safety around CancellationToken usage 2022-01-29 23:58:57 +09:00
Dean Herbert
d0b74a91fb Fix edge cases with score drawable loading 2022-01-29 23:58:57 +09:00
Dean Herbert
0293d95f82 Simplify IsOnlineScope usage 2022-01-29 23:58:57 +09:00
Dean Herbert
daea13f491 Simplify flow of cancellation token 2022-01-29 23:58:57 +09:00
Dean Herbert
3d59bab7c6 Remove fetch callback logic completely 2022-01-29 23:58:57 +09:00
Dean Herbert
13f445ddd5 Move score update code into own method 2022-01-29 23:58:57 +09:00
Dean Herbert
c48e9f2bbd Remove more unnecessary schedule/cancel logic 2022-01-29 23:58:57 +09:00
Dean Herbert
a700ad3849 Remove scoresLoadedOnce weirdness 2022-01-29 23:58:57 +09:00
Dean Herbert
661fec7c8a Make score setter private 2022-01-29 23:58:57 +09:00
Dean Herbert
b85b2c01fb Reorder based on accessibility and add regions 2022-01-29 23:58:57 +09:00
Dean Herbert
c548658662 Remove move unused pieces 2022-01-29 23:58:57 +09:00
Dean Herbert
17aa9f3040 Remove pointless level of schedule/cancel logic 2022-01-29 23:58:57 +09:00
Dean Herbert
64925b3fea Remove unused Content override 2022-01-29 23:58:57 +09:00
Dean Herbert
b9dac6c3b2 Reorder and tidy up bindable flows 2022-01-29 23:58:57 +09:00
Dean Herbert
aee93934d5 Rename methods to make more sense (and always run through AddOnce) 2022-01-29 23:58:57 +09:00
Dean Herbert
c6d303a5b4 Add xmldoc to Leaderboard class 2022-01-29 23:58:57 +09:00
Dan Balasescu
3037a3a769 Purge final spectator frames before ending play 2022-01-28 22:26:05 +09:00
Dan Balasescu
397971c631 Change FrameDataBundle.Frames into an IList 2022-01-28 22:06:34 +09:00
Dean Herbert
c953a5d503 Ensure PollingComponent.Poll is always called from the update thread
Not strictly required since all `Poll` implementations are now
threadsafe, but extra safety is never a bad thing?
2022-01-28 13:44:11 +09:00
Dean Herbert
465e7d29fe Avoid showing the external link warning 2022-01-27 14:53:11 +09:00
Dean Herbert
d7342880f5 Update remaining cases of clashes with realm.Write and realm.RegisterForNotifications 2022-01-25 13:09:48 +09:00
Dean Herbert
6eb2c28e41 Rename RealmContextFactory to RealmAccess 2022-01-24 20:38:07 +09:00
Dean Herbert
40aa873190 Rename register methods to better explain their purpose 2022-01-24 14:37:36 +09:00
Dean Herbert
e9e3e024a1 Update all usages of QueryAsyncWithNotifications to use new Register pathway 2022-01-23 20:28:04 +09:00
Dean Herbert
1f157d729d Update existing subscriptions to new style
Fix missing detach calls in `MusicController`
2022-01-21 20:05:03 +09:00
Dan Balasescu
73a1f27ce5
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-18 17:31:37 +09:00
Dean Herbert
d26f4d50bd Add test coverage of aggregate room scores displaying correctly 2022-01-18 14:00:12 +09:00
Bartłomiej Dach
03e4ec4214
Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-15 14:45:42 +01:00
Dean Herbert
916b591b1b Fix watch replay button not working immediately after playing 2022-01-14 18:03:06 +09:00
Dean Herbert
4f8d29c1c0 Merge branch 'master' into realm-integration/score-and-beatmaps 2022-01-13 18:25:09 +09:00
Dean Herbert
4012ef7e7b Reduce polling rate when idle even if HighPollRate is requested 2022-01-13 17:33:55 +09:00
Dean Herbert
46d2f305b5 Log chat polling rate changes 2022-01-13 17:31:59 +09:00
Dean Herbert
2de0c34bc9 Reduce exposure of ChannelManager 2022-01-13 17:10:48 +09:00
Joseph Madamba
66773f6d7d Use comments to disable identifier typos instead 2022-01-12 15:49:28 -08:00
Joseph Madamba
b245ffefc1 Merge remote-tracking branch 'upstream/master' into fix-remaining-identifier-names 2022-01-12 15:05:07 -08:00
Dean Herbert
4c79145c11 Fix potential mod nullref in APIUserScoreAggregate's CreateScoreInfo implementation 2022-01-13 00:28:16 +09:00
Dean Herbert
51251e3204 Fix CI reported warnings 2022-01-12 22:39:00 +09:00
Dean Herbert
7dba3c3551 Fix most remaining test issues 2022-01-12 17:49:11 +09:00
Dean Herbert
a7958b1d31 Fix edge cases in online availability tracker and combine query code 2022-01-12 17:49:10 +09:00
Dean Herbert
c15efaeff2 Fix OnlinePlayBeatmapAvailabilityTracker not correctly tracking beatmap import changes 2022-01-12 17:49:10 +09:00
Dean Herbert
b531cd0207 Fix donwload trackers not considering deleted scores 2022-01-12 17:49:10 +09:00
Dean Herbert
f4a1fa85a1 Fix incorrect conditional for deciding whether scores can be deleted from UI 2022-01-12 17:49:10 +09:00
Dean Herbert
a3c70ccdfc Fix OnlineAvailabilityTracker referencing a value in query that could potentially be null 2022-01-12 17:00:17 +09:00
Dean Herbert
e1f77b87de "Fix" OnlinePlayBeatmapAvailabilityTracker 2022-01-12 17:00:16 +09:00
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