1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-26 23:13:21 +08:00
Commit Graph

2624 Commits

Author SHA1 Message Date
Dean Herbert
d69446ff6e
Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
Dan Balasescu
2acaffd5e7 Fix APIMod storing bindables instead of value 2022-02-24 17:01:12 +09:00
Dean Herbert
c6d78b9325 Fix several oversights in data linking causing drawable rooms not updating as expected 2022-02-24 16:12:15 +09:00
Dean Herbert
b4a54b38e7 Remove redundant parameter specification 2022-02-24 16:02:16 +09:00
Dean Herbert
3f6bdc5585 Don't expose "mark as read" errors to the user via notifications
This can happen if the user leaves the channel before the request is
fired. You can't mark a channel as read when you're not in the channel.

Addresses https://github.com/ppy/osu/discussions/16973.
2022-02-24 15:40:07 +09:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling 2022-02-23 21:10:27 +01:00
Dean Herbert
3f2ef030e4 Group SpectatorClient private fields together 2022-02-24 02:31:55 +09:00
Dean Herbert
5ffdd57895 Rename weirdly named parameter 2022-02-24 02:28:13 +09:00
Dean Herbert
694c6ad872 Fix frames potentially getting lost due to non-matching Schedule usage 2022-02-24 02:28:13 +09:00
Dean Herbert
47b84295a6 Fix bundle send logic not correctly waiting for task completion (due to nested schedule) 2022-02-24 02:23:48 +09:00
Dean Herbert
cff6f85472 Add note about reconnection being insufficient currently 2022-02-24 02:23:48 +09:00
Dean Herbert
5ff4d3f8e5 Add support to SpectatorClient to resend failed frame bundles 2022-02-24 02:21:29 +09:00
Dean Herbert
53bbd00675 Also make APIUser opt-in and remove the remaining serialization exclusion rule 2022-02-23 17:12:38 +09:00
Dean Herbert
43c83d2de1 Add note about why RoomID is nulled in DeepClone 2022-02-23 17:10:11 +09:00
Dean Herbert
f14a9af801 Make Room opt-in rather than opt-out for json serialization 2022-02-23 17:10:10 +09:00
Dean Herbert
28c9c5ab6a Remove unnecessary ShouldSerialize rules in Room 2022-02-23 17:10:10 +09:00
Susko3
7bdcb5952e Fix handling badly-formatted osu:// urls 2022-02-23 00:36:56 +01:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling 2022-02-22 22:42:16 +01:00
Dean Herbert
ed008267d7
Fix one more case of escaping not being present
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:18 +09:00
Dean Herbert
ca0a041153
Fix missing escaping causing test failures
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:04 +09:00
Dean Herbert
61b3280de1 Add missing property copies in Room.CopyFrom implementation 2022-02-22 15:47:00 +09:00
Dean Herbert
71ae425fb2 Merge branch 'master' into rooms-request-faster 2022-02-22 15:45:05 +09:00
Dean Herbert
f12044b03e Add mention of PlaylistItem.Beatmap being a placeholder in many cases 2022-02-22 15:31:08 +09:00
Bartłomiej Dach
e3ae52360e
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 20:50:00 +01:00
Dean Herbert
b43008b9f6 Add cover and count handling from newer response version 2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c Handle API returned difficulty range for rooms 2022-02-21 19:05:19 +09:00
Dean Herbert
7f4cc221d2 Add API versioning 2022-02-21 19:02:03 +09:00
Dean Herbert
1737128334 Allow room category to be copied even if Spotlight
I remember that this conditional copy was added to support making copies
of spotlight rooms without carrying across the `Spotlight` type, but in
testing this is already handled web side to the point that it's not
required.

The rationale for allowing the copy is that this method is used for
tests, where it was not being copied correctly from the input as
expected (used at
bdc3b76df0/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs (L38)).
2022-02-21 17:47:56 +09:00
Dean Herbert
fc1877b6fa Move to extension method and revert logic to match previous implementation 2022-02-21 13:42:26 +09:00
Dean Herbert
79408f6afc Add xmldoc and clean up ScoreboardTimeUtils extension methods a touch 2022-02-21 13:30:58 +09:00
Dean Herbert
2ded7d281b Remove unused using statement 2022-02-21 13:17:19 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref 2022-02-21 12:11:10 +09:00
dekrain
262751a98a
Revert highlighting recent scores 2022-02-19 21:23:35 +01:00
dekrain
31b7ce053d
Fix CI issues 2022-02-19 21:18:26 +01:00
dekrain
0d83c5a39a
Add colour highlighting recent scores 2022-02-19 20:47:30 +01:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together 2022-02-19 20:47:02 +01:00
Dean Herbert
98aaf83177 Add a centralised constant for the osu URL schema protocol 2022-02-18 15:57:37 +09:00
dekrain
1abbb9ab39
Align the bar to be on baseline of score components
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-17 21:26:59 +01:00
Dean Herbert
9d0023c750 Fix incorrect mappings 2022-02-17 21:12:51 +09:00
Dean Herbert
3d5ed24e20 Fix beatmap overlay leaderboards and links not working
Completely aware that this isn't how it should be done, but would like
to get this out in a hotfix release today. Maybe changes opinions on
https://github.com/ppy/osu/pull/16890 structure?
2022-02-17 21:05:00 +09:00
dekrain
f4d1e6f600
Add tests for timerefs 2022-02-17 10:38:29 +01:00
dekrain
7bd731ae08
Move the date next to the flag icon 2022-02-17 10:12:35 +01:00
dekrain
333a305af3
Use floor instead of ceiling 2022-02-17 00:09:17 +01:00
dekrain
c124034cf3
Add text displaying recent score time 2022-02-16 23:18:14 +01:00
Dan Balasescu
55d9f0b44b Store beatmap to a field instead 2022-02-16 16:03:08 +09:00
Dean Herbert
7e24b36f26 Merge branch 'master' into remove-playlistitem-beatmap 2022-02-16 14:24:57 +09:00
Dan Balasescu
5db63a8751 Expose read-only list from request 2022-02-16 11:30:03 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6 2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe Fix incorrect playlist item <-> availability tracker logic
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
bdc3b76df0 Remove beatmap bindable from PlaylistItem 2022-02-15 23:50:08 +09:00
Dan Balasescu
94a974e1c9 Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
afcb7a4630 Make DrawableRoomPlaylistItem look up the online beatmap 2022-02-15 23:41:50 +09:00
Dan Balasescu
ccd265ebe7 Handle beatmap lookup requests in TestRoomRequestsHandler 2022-02-15 23:41:50 +09:00
Dan Balasescu
efeba30b9f Remove ruleset and mod bindables from PlaylistItem 2022-02-15 16:28:15 +09:00
Dean Herbert
28b45fa899 Add assertions against null reference for connection usages 2022-02-15 15:19:50 +09:00
Dan Balasescu
8b05b35b8c
Merge pull request #16854 from peppy/combine-score-submission-request-implementation
Standardise and combine base implementation of score submission requests
2022-02-11 17:31:55 +09:00
Dean Herbert
28bbf34b14 Remove unnecessary this. prefix 2022-02-11 16:21:49 +09:00
Dan Balasescu
43f1044987
Merge pull request #16850 from frenzibyte/readonly-pinned-scores
Add read-only pinned scores view in user profile overlay
2022-02-11 16:15:46 +09:00
Dean Herbert
beb3731c0b Standardise and combine base implementation of score submission requests
These share too much yet have very different constructor signatures and
property exposure. Just a clean-up pass as I begin to look at replay
submission.
2022-02-11 15:53:47 +09:00
Salman Ahmed
92e22c57a7 Introduce private APIRuleset for online ID equality comparison 2022-02-11 08:27:01 +03:00
Salman Ahmed
9cd88ec2b8 Update API models with score pinning changes 2022-02-10 21:23:38 +03:00
Dan Balasescu
ffc4c64f7e Unify namings across the board 2022-02-09 12:10:07 +09:00
Dan Balasescu
886d1d2df6 Refactorings 2022-02-08 21:29:43 +09:00
Dan Balasescu
c1766d8a41 Add paused state 2022-02-08 20:29:53 +09:00
Dan Balasescu
4c76027178 Rename completed state to passed 2022-02-08 20:29:49 +09:00
Dan Balasescu
483977d5c8 Merge branch 'master' into spectator-state-rework 2022-02-03 19:59:07 +09:00
Dean Herbert
a69c7a9de6 Split exceptions back out to give better messaging 2022-02-03 14:09:27 +09:00
Dean Herbert
62fa915193 Standardise exception messages for local-user-logged-out flows 2022-02-03 13:58:55 +09:00
Dan Balasescu
d9a43b4c4c Fix API requests not completing when offline 2022-02-03 13:16:54 +09:00
Dan Balasescu
81a22dbd29 Add back playing users list 2022-02-02 23:19:43 +09:00
Dan Balasescu
fcbba3d948 Rename PlayingUserStates -> WatchingUserStates 2022-02-02 23:11:29 +09:00
Dan Balasescu
6d3bc005ea Merge branch 'master' into spectator-state-rework 2022-02-02 18:57:04 +09:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Dean Herbert
d065e32ca1 Fix crash due to MatchLeaderboardScores not having populated rulesets 2022-02-02 13:23:49 +09:00
Dean Herbert
35b7653290 Revert mod flow changes and add visual test coverage showing an overflow case 2022-02-02 09:13:19 +09:00
dekrain
eee020f8e4
Cleanup tooltip layout
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-01 20:26:52 +01:00
Dan Balasescu
f4210f7a30 Rework spectator components to use new user state 2022-02-01 21:53:25 +09:00
Dan Balasescu
41007169f7 Give SpectatorState a user state 2022-02-01 21:51:05 +09:00
Dean Herbert
f87920cd83 Remove unnecessary GridContainer and list mods verticall to give more space 2022-02-01 16:43:26 +09:00
Dean Herbert
8eace12fe3 Synchronise (roughly) backgrounds of all custom tooltips 2022-02-01 16:35:25 +09:00
Dean Herbert
fdb52a8fd7 Remove gap in tooltip display between statistics 2022-02-01 16:35:25 +09:00
Dean Herbert
855135c51e Fix potential nullref during display due to incorrect equality check 2022-02-01 16:13:27 +09:00
Dean Herbert
e1b57c4bf6 Fix inspections 2022-02-01 16:07:57 +09:00
dekrain
d7b939277e
Code quality improvements 2022-02-01 07:10:00 +01:00
dekrain
fd287e06f2
Add missing license header 2022-02-01 06:51:00 +01:00
dekrain
c2b775c0a3
Minor alignment adjustments 2022-02-01 06:45:59 +01:00
Dan Balasescu
502e6af008 Remove PlayingUsers list from SpectatorClient 2022-02-01 14:42:30 +09:00
dekrain
db973fb348
Add basic tooltip for leaderboard scores 2022-02-01 06:28:18 +01:00
Dan Balasescu
4727aeda01 Give last bundled replay frame the frame header 2022-01-31 18:53:47 +09:00
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
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