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 MatchLeaderboardScore
s 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
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 LocalisableString
s 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