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 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
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
Dan Balasescu
9491e5a547
Merge pull request #14954 from peppy/rename-result-response
...
Rename `APIRequest.Result` to `Response`
2021-10-06 10:52:33 +09:00
Dean Herbert
c23acb8f05
Merge pull request #14967 from bdach/fix-accidental-json-property-rename
...
Fix "most played beatmap" request breakage after property rename
2021-10-06 05:00:12 +09:00
Bartłomiej Dach
baa8baaa1e
Fix "most played beatmap" request breakage after property rename
2021-10-05 21:17:19 +02:00
Bartłomiej Dach
12da27cde7
Add test coverage for loading process on channel join
2021-10-05 20:52:40 +02:00
Dean Herbert
b41fa41c85
Rename APIRequest.Result
to Response
2021-10-05 14:28:56 +09:00
Dean Herbert
853cf6feaa
Rename last remaining BeatmapInfo Beatmap
usage
2021-10-04 17:35:53 +09:00
Dan Balasescu
5937a93e2d
Merge pull request #14949 from peppy/login-error-display
...
Show login failure messages on login form
2021-10-04 17:23:11 +09:00
Dean Herbert
3a0b7ba8ff
Add fallback to use Message
when Hint
is not available
2021-10-04 16:18:55 +09:00
smoogipoo
69c2b7dc59
Merge branch 'master' into rename-beatmap-info-beatmap-fields
2021-10-04 16:03:22 +09:00
Dan Balasescu
aa1bfc16d2
Merge pull request #14929 from peppy/gameplay-state
...
Replace `GameplayBeatmap` with `GameplayState`
2021-10-04 15:56:44 +09:00
Dean Herbert
266b4c7124
Expose login errors from IAPIProvider
and show on the login form
2021-10-04 15:40:24 +09:00
Dean Herbert
5aaafce597
Make AuthenticateWithLogin
throw instead of return a bool
success status
2021-10-04 15:40:00 +09:00
Dean Herbert
ec61c3c5ee
Rename all remaining cases
2021-10-03 00:55:29 +09:00
Dean Herbert
32afd3f426
Replace all basic usages
2021-10-02 02:22:23 +09:00
Dean Herbert
3e3b9bc963
Split out IModelDownloader
and also split apart ScoreManager
2021-09-30 18:25:20 +09:00
Dean Herbert
8acfefed1b
Merge pull request #14741 from smoogipoo/fix-lounge-beatmaps-counter
...
Fix incorrect beatmap count and SR range in multi lounge
2021-09-15 18:51:52 +09:00
smoogipoo
f54d554d30
Extract removal to method
2021-09-15 17:03:28 +09:00
smoogipoo
b807c161b4
Remove now-unused DI params
2021-09-14 17:25:57 +09:00
smoogipoo
6cffbee592
Fix random/target mods not working in spectator
2021-09-14 17:22:58 +09:00
Dan Balasescu
d9b4fae4e5
Merge branch 'master' into chat-command
2021-09-13 13:32:44 +09:00
Bartłomiej Dach
c4627bed6d
Print username in case of generic network failure too
2021-09-12 12:56:36 +02:00
rednir
e511c2ef2b
add comment
2021-09-12 08:50:53 +01:00
Davran Dilshat
1b264a2dd0
make user lookup string public
2021-09-11 16:22:29 +01:00
Davran Dilshat
c166f1a06a
change error message based on exception message
2021-09-11 14:18:09 +01:00
Dan Balasescu
f4b1d8b9d1
Merge pull request #14704 from peppy/modicon-imod-support
...
Update `LeaderboardModSelector` to avoid creating mod instances
2021-09-10 16:43:32 +09:00
Davran Dilshat
acb181ff2b
rename alreadyJoinedChannel
-> privateChannel
2021-09-10 08:15:43 +01:00
rednir
5ec615c783
display user in error message
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-09-10 08:02:15 +01:00
rednir
84c152e7b6
break when already found user
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-09-10 08:01:38 +01:00
Dean Herbert
309460e505
Merge pull request #14675 from ekrctb/featured-artist-markers
...
Add featured artist markers to beatmap listing and overlay
2021-09-10 14:30:33 +09:00
Dean Herbert
28e9329136
Update LeaderboardModSelector
to avoid creating mod instances
2021-09-10 12:43:21 +09:00
Dean Herbert
76e877f160
Disable APIMod/Mod cross equality support
2021-09-10 11:24:56 +09:00
Dean Herbert
cf633973a9
Refactor exposed mod retrieval methods for better safety
2021-09-10 11:09:13 +09:00
Dean Herbert
ce6b022a90
Remove unused IMod
specification from APIMod
2021-09-10 10:59:30 +09:00
Dean Herbert
2edb851008
Add ability to lookup mod from a type specification
2021-09-09 16:50:59 +09:00
Dean Herbert
4d0530ca9d
Add new methods to ruleset for quicker mod lookups
2021-09-09 16:46:14 +09:00
Dean Herbert
e66d76d26e
Avoid settings copy if there are no settings
2021-09-09 15:43:55 +09:00
ekrctb
7543f9dfb0
Add featured artist track ID online info
2021-09-08 12:21:24 +09:00
Davran Dilshat
255f8a9769
add alias "/msg" (also a command in stable)
2021-09-07 17:25:47 +01:00
Davran Dilshat
b1c89f7618
ignore case when search for already joined channel
2021-09-07 17:22:59 +01:00
Davran Dilshat
be9540e535
fix "key" having wrong url parameter name
2021-09-07 17:17:10 +01:00
rednir
f209222812
Merge branch 'master' into chat-command
2021-09-07 17:09:46 +01:00
Davran Dilshat
f54d5675db
check if user joined requested channel already
2021-09-07 17:06:12 +01:00
Dean Herbert
c43ac8c946
Merge pull request #14660 from ekrctb/search-featured-artists
...
Add "featured artists" filter to beatmap listing
2021-09-07 20:58:13 +09:00
Dean Herbert
92f59c10f5
Remove redundant this.
in assignment
2021-09-07 17:45:39 +09:00
Dean Herbert
1aa95de530
Merge branch 'master' into score-ordering
2021-09-07 17:45:38 +09:00
Dean Herbert
d922210d2f
Fix TestSceneDeleteLocalScore
not properly comparing post-delete scores
2021-09-07 16:46:27 +09:00
ekrctb
b6c80f04b0
Add "featured artists" filter to beatmap search
2021-09-07 16:44:45 +09:00
Dean Herbert
1c4a3c584a
Use correct lookup type to ensure username based lookups always prefer username
2021-09-06 15:04:27 +09:00
Davran Dilshat
5c385e84ea
wrong command name in query message
2021-09-05 21:20:19 +01:00
Davran Dilshat
cb6cee9aea
add /query as alias of /chat
2021-09-05 21:10:08 +01:00
Davran Dilshat
59ca69e41f
add /chat command
2021-09-05 18:16:57 +01:00
Davran Dilshat
b1a995e0bb
revert changes
2021-09-05 15:49:48 +01:00
Davran Dilshat
e78dc1bb4c
more code quality :/
2021-09-05 15:27:28 +01:00
Davran Dilshat
e409f2dc6d
add xmldoc
2021-09-05 10:42:38 +01:00
Davran Dilshat
9aa1564e0d
revert ChannelManager changes
2021-09-05 10:19:04 +01:00
Davran Dilshat
ea3be927d7
convert to method group
2021-09-04 20:02:10 +01:00
Davran Dilshat
4c006333e0
add /chat command
2021-09-04 19:42:14 +01:00
smoogipoo
999386da29
Cleanup
2021-08-31 21:47:49 +09:00
smoogipoo
bfcadcc4ac
Revert some changes
2021-08-31 19:18:01 +09:00
rednir
8104b15874
remove braces
...
Co-authored-by: Salman Ahmed <frenzibyte@gmail.com>
2021-08-30 13:23:33 +01:00
smoogipoo
4ebb11472d
Update Leaderboard to reorder scores based on scoring mode
2021-08-30 19:34:34 +09:00
Davran Dilshat
90c313e2ad
add methods to get a user from their username
2021-08-29 19:19:55 +01:00
Dean Herbert
e1ab3434ed
Add ability to handle user join/leave/kick events in MultiplayerComposite
s
2021-08-25 14:37:14 +09:00
Bartłomiej Dach
e503182a8d
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 18:50:55 +02:00
Dean Herbert
8cd972a9fe
Merge branch 'master' into pinned-comment
2021-08-24 14:37:31 +09:00
smoogipoo
956c1cc216
Merge branch 'master' into activity-on-multiplayer-screens
2021-08-24 12:33:34 +09:00
Endrik Tombak
058d2d2a49
Use nekodex's regex from osu-web
2021-08-20 23:01:06 +03:00
Endrik Tombak
8745fe9e34
Change editor timestamp regex to not match non-editor ones
2021-08-20 22:32:04 +03:00
Dan Balasescu
54bc532f0d
Merge branch 'master' into fix-messagepack-union
2021-08-20 16:01:04 +09:00
Dan Balasescu
dcff30ed6e
Merge branch 'master' into fix-login-as-guest
2021-08-20 14:06:28 +09:00
Dean Herbert
da8eba9996
Return early to avoid updating state and failure count in fail cases
2021-08-20 12:11:41 +09:00
Dan Balasescu
c95bf735fe
Merge branch 'master' into multiplayer-chat
2021-08-20 11:54:42 +09:00
Dean Herbert
a6b7ca1a4c
Ensure all request failures are correctly handled during login
2021-08-19 19:55:14 +09:00
Dean Herbert
bc025efce5
Add commenting regarding workaround to avoid potential omission in the future
2021-08-19 17:42:44 +09:00
Dean Herbert
2b5a42e063
Add missing union specification for MatchUserRequest
2021-08-19 17:42:26 +09:00
Dean Herbert
f95c6f0de5
Switch multiplayer back to messagepack
2021-08-19 17:42:13 +09:00
Dean Herbert
fa01e4fad2
Add workaround for SignalR union serialisation
2021-08-19 17:41:50 +09:00
smoogipoo
1fd746524d
Remove realtime room category, fix end-date showing for realtime
2021-08-19 16:09:28 +09:00
Dean Herbert
1faf789f0e
Allow expanding chat using key binding even when it is hidden
2021-08-18 18:25:21 +09:00
Dan Balasescu
eaf7bd72fc
Merge branch 'master' into multiplayer-chat
2021-08-17 20:08:01 +09:00
Dean Herbert
8a1651e830
Reorganise methods in PollingComponent
2021-08-17 17:04:32 +09:00
Dean Herbert
b82f92d7b8
Adjust background colours of textbox in chat display
2021-08-17 16:16:49 +09:00
Dean Herbert
35b9f84c00
Expose StandAloneChatDisplay.Textbox
2021-08-17 16:16:49 +09:00
smoogipoo
6320768a67
Merge branch 'master' into multi-polling-request-refactor
2021-08-17 08:44:56 +09:00
smoogipoo
08d347f10b
Merge branch 'master' into multi-polling-request-refactor
2021-08-16 13:12:08 +09:00
Nathan Alo
cc3468b4ab
apply suggestions
...
- make `UserActivity.InGame` and derive that to `InSoloGame` and `InMultiplayerGame`
- rename `SoloGame` to `InSoloGame`
- rename `MultiplayerGame` to `InMultiplayerGame`
2021-08-16 06:32:33 +08:00
Opelkuh
7d7c5c06f0
Fix code formatting
2021-08-15 16:02:25 +02:00
Opelkuh
2f9f1ba862
Add test for ChannelManager.MarkChannelAsRead
2021-08-15 15:44:23 +02:00
Opelkuh
7d6f7ac75e
Fix mark channel as read error
2021-08-15 02:57:11 +02:00
Bartłomiej Dach
498462dfd0
Fix room null-check racing against async schedule
2021-08-14 17:44:41 +02:00
Dean Herbert
b8c63eb1cb
Merge branch 'master' into multiplayer-kick-support-events
2021-08-14 14:08:34 +09:00
smoogipoo
1fcb1cdb10
Add todo
2021-08-13 22:01:47 +09:00
Gagah Pangeran Rosfatiputra
480d5ffa5d
add pinned comment to users setter in comment bundle
2021-08-13 19:40:37 +07:00
smoogipoo
8910781bcd
Move listing polling component to LoungeSubScreen
2021-08-13 17:39:09 +09:00
Gagah Pangeran Rosfatiputra
39b13efdd5
add pinned comments property in comment bundle
2021-08-13 13:13:28 +07:00
Gagah Pangeran Rosfatiputra
0901333ef3
add pinned property in comment
2021-08-13 12:57:29 +07:00
Dean Herbert
5f3ceaf0ad
Merge branch 'master' into lounge-redesign
2021-08-12 16:31:14 +09:00
Dean Herbert
9b21ebd6d0
Add client side handling on incoming kick
2021-08-11 19:56:06 +09:00
Dean Herbert
d9a4f018e6
Add event flow for receiving kick commands
2021-08-11 19:56:06 +09:00
smoogipoo
0f5bea235c
Merge branch 'master' into lounge-redesign
2021-08-11 18:15:34 +09:00
Dean Herbert
e8ad0fba75
Add required server methods for kicking users
2021-08-11 17:20:41 +09:00
Dan Balasescu
b8748a86c5
Merge pull request #14204 from peppy/fix-null-ref-online-tracking-component
...
Fix potential null reference in online status resolution in multiplayer match
2021-08-10 18:36:13 +09:00
Dean Herbert
b121d95400
Avoid potential null reference exception in OnlinePlayBeatmapAvailabilityTracker
2021-08-10 17:37:24 +09:00
Dean Herbert
2b9168157d
Fix CurrentMatchPlayingItem
not being reset on leaving a multiplayer room
2021-08-10 16:53:03 +09:00
Dean Herbert
ea6e441dec
Simplify method of marking players as playing in test scenes
2021-08-09 19:21:22 +09:00
Dean Herbert
0b76460043
Merge branch 'master' into lounge-redesign
2021-08-09 16:28:28 +09:00
Dean Herbert
8dc167ac9a
Set default MultiplayerRoomSettings
type to something that isn't playlists
2021-08-06 18:56:01 +09:00
smoogipoo
0246e6f850
Merge branch 'master' into lounge-redesign
2021-08-05 19:55:15 +09:00
smoogipoo
94aa5fbca7
Fix doubled json property (runtime error)
2021-08-05 16:31:34 +09:00
smoogipoo
fbf89493ad
Merge branch 'master' into lounge-redesign
2021-08-04 19:53:55 +09:00
Dean Herbert
666007b2f9
Merge branch 'master' into multiplayer-team-vs-team-selection
2021-08-04 13:54:11 +09:00
Dean Herbert
401835a3d8
Add missing event glue
2021-08-04 13:13:47 +09:00
Dean Herbert
75426f84f1
Fire initial match user states in TestMultiplayerClient
2021-08-03 23:42:37 +09:00
Dean Herbert
b956d32587
Add the ability to change multiplayer game type
2021-08-03 23:42:37 +09:00
Dean Herbert
e11b815b82
Serialise type
as snake_case
2021-08-03 23:13:39 +09:00
smoogipoo
1b6b7ce343
Merge branch 'master' into lounge-redesign
2021-08-03 20:02:31 +09:00
Dean Herbert
70da58323a
Drop MatchRuleset
terminology completely
2021-08-03 15:45:17 +09:00
Dean Herbert
66427127f0
Update naming in line with discussion
2021-08-03 15:09:03 +09:00
Dean Herbert
a42762e351
Merge branch 'multiplayer-rename-game-type' into multiplayer-match-rulesets
2021-08-03 14:55:51 +09:00
Dean Herbert
ee102e3755
Fix incorrectly overwritten ReferenceLoopHandling
setting
2021-08-03 14:55:20 +09:00
Dean Herbert
5ac3abac99
Add missing forceScheduled
parameter
2021-08-03 14:53:04 +09:00
Dean Herbert
556962a3d8
Add missing xmldoc comment
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-08-03 14:50:56 +09:00
Dean Herbert
2564c0c3df
Rename GameType
to MatchType
and make enum
instead of class
2021-08-03 14:46:31 +09:00
Dean Herbert
d93421b9b8
Expose a default TeamVs
room state so it can be consumed by tests
2021-08-02 18:50:22 +09:00
Dean Herbert
c7274355a4
Remove abstract
definitions from multiplayer states for now
2021-08-02 18:50:22 +09:00
Dean Herbert
617ff40de7
Add the ability to not use MessagePack when creating a HubConnector
2021-08-02 18:50:22 +09:00
Dean Herbert
1cd967b351
Add signalr json type handling specification
2021-08-02 18:50:22 +09:00
Dean Herbert
4cf2c6188d
Add union attributes for derived class deserialisation
2021-08-02 18:50:22 +09:00
Dean Herbert
ce92a47ec6
Add silly event handling hookups
2021-08-02 18:50:22 +09:00
Dean Herbert
359eb9c4ec
Add new event flow for match ruleset state handling
...
I'm totally not happy with how this is done, but don't have the energy
to rewrite everything just now.
2021-08-02 18:50:22 +09:00
Dean Herbert
035dfd071f
Add missing nullable specifications
2021-08-02 18:47:26 +09:00
Dean Herbert
d17b2b3268
Add boilerplate for server events
2021-08-02 18:47:26 +09:00
Dean Herbert
1d645d4ca9
Mark base classes non-abstract to fix messagepack serialisation
2021-08-02 18:47:26 +09:00
Dean Herbert
1c125eef12
Make Users
an IList
for more flexibility server-side
2021-08-02 18:47:26 +09:00
Dean Herbert
9d1e95caf0
Add flow for sending match ruleset specific messages to the server
2021-08-02 18:47:26 +09:00
Dean Herbert
e8338f2711
Add basic class structure for match rulesets and required state
2021-08-02 17:14:49 +09:00
Jamie Taylor
c1d8a7e2ad
Add and use 'Submit' select sample variant for particular components
2021-07-30 21:35:28 +09:00
Dean Herbert
185ea776f5
Fix incorrect authorisation loss exception handling with recent changes
2021-07-30 18:11:40 +09:00
Dean Herbert
3a5324c947
Fix aborting an APIRequest
potentially resulting in incorrect success
2021-07-29 13:01:52 +09:00
Dan Balasescu
2a94fc214f
Merge pull request #14046 from peppy/fix-rapid-reconnection
...
Fix `HubClientConnector` reconnecting with no delay on server-triggered error
2021-07-29 01:52:21 +09:00
Dean Herbert
cd2a1af6de
Fix HubClientConnector
reconnecting with no delay on server-triggered error
2021-07-28 20:46:02 +09:00
Dean Herbert
1ed4fdd5f5
Avoid deserialisation JSON request content when error is not present (or not relevant)
2021-07-28 20:13:40 +09:00
Dean Herbert
bb3747ffc9
Fix beatmap search requests double-escaping
...
Closes #14008 .
2021-07-25 17:06:40 +09:00
Dan Balasescu
ce30bd8cc7
Merge pull request #14003 from Game4all/localise-profile-overlay-header-stats
...
Localise profile overlay numeric statistics
2021-07-25 12:20:38 +09:00
Dean Herbert
48120faeb2
Fix inability to join a multiplayer room which has no password
2021-07-24 19:21:16 +09:00
Lucas A
ff3d38de6f
Localise accuracy display.
2021-07-23 22:37:08 +02:00
Dean Herbert
17168b8137
Fix authentication loss not handled correctly
...
This handles the case where on initial API connection, the server
responds with an `Unauthorized` response. It doesn't perform this same
checking/handling on every API request, which is probably what we want
eventually.
Opting to not address the full issue because I know this is going to be
a long one (see
05c50c0f6c/osu.Game/Online/API/APIAccess.cs (L233)
).
2021-07-23 19:03:19 +09:00
Bartłomiej Dach
6dbdfcc70c
Fix room password not being percent-encoded in join request
2021-07-22 23:11:58 +02:00
Dean Herbert
57e5f5575a
Fix derived API request types firing success when they shouldn't
...
The usual case of `virtual`/`override` being dangerous when logic is
added to the base implementation. As such, I've removed this completely.
2021-07-22 14:23:27 +09:00
Dan Balasescu
747c475b95
Merge pull request #13932 from peppy/fix-multiple-request-completion-states
...
Fix API request potentially firing failed events after completion
2021-07-21 15:11:03 +09:00
Bartłomiej Dach
1e634d9db0
Adjust user beatmap sections on profile overlay to match web
2021-07-20 21:55:17 +02:00
smoogipoo
b7c2d6b1ab
Merge branch 'master' into add-password-support
2021-07-19 22:23:09 +09:00
smoogipoo
0a43e54dfc
Fix request failing due to parameters
2021-07-19 21:24:22 +09:00
smoogipoo
a001e4aa16
Fix web request failing if password is null
2021-07-19 20:57:16 +09:00
Dean Herbert
80c2b1449b
Fix API request potentially firing failed events after completion
...
Specifically, `Cancel()` calls were not thread safe. Due to a series of
events, `ListPollingComponent` could call `Cancel` from a non-update
thread, leading to a race condition where both a `Success` and `Fail`
event can be fired.
This is intended to be the simplest fix possible, locking and guarding
specifically on the callbacks. Further work could be done in the future
to improve the flow surrounding `pendingFailure`, potentially reducing
redundant work and cleaning up the code, but that's not happening here.
Closes https://github.com/ppy/osu/issues/13632 .
2021-07-19 20:27:01 +09:00
smoogipoo
2eec524f27
Fix password not copied from multiplayer client
2021-07-19 20:20:08 +09:00
smoogipoo
2515785f93
Use room password to fill settings textbox
2021-07-19 20:03:32 +09:00
smoogipoo
063f14da98
Update test room manager to not return passwords
2021-07-19 20:03:27 +09:00
Dean Herbert
3c028ce05c
Add IDeepCloneable
interface and update existing CreateCopy
methods to use it
2021-07-19 12:54:17 +09:00
Dean Herbert
125bd36ab1
Send password in request ctor directly
2021-07-13 14:27:07 +09:00
Dean Herbert
c5319c06c2
Add password attributes to CopyFrom
to make testing work better
2021-07-12 18:54:07 +09:00
Dean Herbert
9f9d7f9125
Add remaining pieces of password flow (for osu-web join request)
2021-07-12 18:22:52 +09:00
Dean Herbert
f35d55c32f
Fix HasPassword
not being in sync with Password
value for client-side rooms
2021-07-12 15:49:19 +09:00
Dean Herbert
08c40938db
Add support for updating a room's password
2021-07-12 15:49:19 +09:00
Dean Herbert
5148069efe
Update signatures in line with no-overload methods (unsupported by signalr)
2021-07-12 15:49:19 +09:00
Dean Herbert
2ca11d458a
Add password to room settings and multiplayer lounge interface
2021-07-12 15:49:19 +09:00
Dean Herbert
6a74fde082
Add has_password
flag and region post only parameters
2021-07-12 15:49:19 +09:00
Dean Herbert
4fd6f2101c
Add password textbox input
2021-07-12 15:49:19 +09:00
Dean Herbert
0db316d644
Add password scaffolding
2021-07-12 15:49:19 +09:00
smoogipoo
ac26374a93
Merge branch 'master' into lounge-redesign
2021-07-12 13:54:42 +09:00
Jamie Taylor
2eb12a59b7
Rename function to be more accurate
2021-07-09 11:16:47 +09:00
Jamie Taylor
546f55d341
Change profile section expansion to use dropdown sounds
2021-07-08 20:23:11 +09:00
smoogipoo
14b6949456
Shorten room status messages
2021-07-07 14:47:24 +09:00
PercyDan54
e1c646b9b2
Remove redundant arguments
2021-07-05 23:52:39 +08:00
Dean Herbert
31dbc7798b
Merge branch 'master' into linkify-metadata
2021-07-01 19:41:33 +09:00
smoogipoo
ca0eaab8e2
Add test
2021-06-29 16:30:46 +09:00
smoogipoo
7a86686f40
Make nullable
2021-06-29 16:30:40 +09:00
smoogipoo
9132c42f87
Fix actions posted to the wrong channel
2021-06-29 15:58:07 +09:00
Bartłomiej Dach
50c27d2635
Update usages of IHasTooltip
in line with framework localisation changes
2021-06-25 19:10:04 +02:00
Joseph Madamba
6fda5e569a
Fix beatmap discussion links wrongly leading to beatmap page
2021-06-20 21:37:00 -07:00
Dean Herbert
9495f87f04
Remove redundant NotNull
attributes in nullable
classes
2021-06-17 16:07:32 +09:00
Dean Herbert
fc442713bb
Debounce schedule at base class
2021-06-14 14:26:40 +09:00
Dean Herbert
8dd48d48f6
Add support for song select leaderboard to handle newly imported scores
2021-06-14 14:20:23 +09:00
Dean Herbert
26312bf60a
Merge branch 'master' into chat-mention
2021-06-11 20:03:44 +09:00
Dean Herbert
8eab7df955
Move BindCollectionChanged
out of async load
2021-06-11 17:51:58 +09:00
Dean Herbert
20759657de
Rename configuration variables and refactor lots more
2021-06-11 16:37:31 +09:00
Dean Herbert
3d645608eb
Remove nullability of DI dependencies and fix incorrect load order
2021-06-11 16:28:53 +09:00
Dean Herbert
139401a04a
Inline and refactor overly verbose MessageNotifier
code
2021-06-11 16:27:31 +09:00
Dean Herbert
061e3d7f26
Move legacy ScoreInfo
to be completely based on presence of classic mod
2021-06-08 18:00:09 +09:00
Craftplacer
4925a7d59e
Minor code quality changes
2021-06-05 15:57:14 +02:00
Craftplacer
5e44329e0b
Add DummyAPIAccess request handler
...
Make CreateChannelRequest.channel public
2021-06-05 14:43:26 +02:00
Craftplacer
ce4bcda803
Use separate method for fetching channel objects
...
Resolves a pull request review
2021-06-05 14:02:48 +02:00
Craftplacer
39c3b08fc7
Merge remote-tracking branch 'upstream/master' into chat-mention
2021-06-05 11:18:06 +02:00
Craftplacer
b746fe7c03
Fix binding order
2021-06-05 11:03:49 +02:00
Bartłomiej Dach
5f5f3a8c5c
General comment cleanups
2021-06-03 14:20:52 +02:00
Bartłomiej Dach
b2cc2a51ec
Rename method to be less misleading
...
Would rather avoid variations of Equals/Equal/IsEqual. There's not
really much equality involved as the types are different.
2021-06-03 14:13:01 +02:00
Bartłomiej Dach
e8c2483f19
Use standard list instead of bindable list
...
No reason to use a bindable list there, as `CollectionChanged` was never
subscribed to.
2021-06-03 14:09:52 +02:00
Bartłomiej Dach
8193691cbc
Invert condition to reduce nesting
2021-06-03 14:09:52 +02:00
Dean Herbert
a6cc37eb3b
Mark fields readonly
2021-06-03 14:56:21 +09:00
Dean Herbert
4a5d8215f3
Merge branch 'master' into keyboard_shortcuts
2021-06-03 14:47:40 +09:00
Dean Herbert
1f8abcdf6c
Merge branch 'master' into fix-relative-link-resolution
2021-06-01 16:49:02 +09:00
Dean Herbert
dce24e3d4d
Merge pull request #12950 from gagahpangeran/osu-wiki-overlay
...
Initial implementation of Wiki Overlay
2021-06-01 15:20:56 +09:00
Dean Herbert
a9f4bc6285
Never return a null argument
...
Enable nullable
2021-06-01 14:11:17 +09:00
Dean Herbert
111bfd4d88
Fix relative URLs having a null argument after resolution to LinkDetails
2021-06-01 13:50:20 +09:00
smoogipoo
bca8a9ea53
Fix HandleFrame crashing when not playing
2021-05-31 10:02:02 +09:00
Craftplacer
b3ac67675e
Merge branch 'chat-mention' of github.com:Craftplacer/osu into chat-mention
2021-05-27 21:59:51 +02:00
Craftplacer
13b2b7c148
Fix formatting
2021-05-27 21:58:54 +02:00
Craftplacer
0b17af81f1
Use Contains instead of IndexOf
...
Co-authored-by: Berkan Diler <b.diler@gmx.de>
2021-05-27 09:48:30 +00:00
Dean Herbert
aa23c4a4b9
Merge branch 'master' into keyboard_shortcuts
2021-05-27 16:30:34 +09:00
Craftplacer
a679efac1c
Reduce duplicate notification code by making a base class
2021-05-27 01:00:26 +02:00
Craftplacer
cf39e58ce7
Subscribe to CollectionChanged before binding to JoinedChannels
2021-05-27 01:00:08 +02:00
Craftplacer
d47370bac9
Locally bind to LocalUser
2021-05-27 00:59:29 +02:00
Gagah Pangeran Rosfatiputra
905364b5fe
add url as argument for link action external
2021-05-26 19:34:34 +07:00
Dean Herbert
52ca2f4797
Merge branch 'master' into chat-mention
2021-05-26 16:00:26 +09:00
Dean Herbert
20f890cfd0
Merge branch 'master' into fix-spectator-playing-state-5
2021-05-21 16:49:22 +09:00
Dean Herbert
1c560a9490
Merge pull request #12869 from EVAST9919/sidebar
...
Add sidebar to news overlay
2021-05-21 16:21:18 +09:00
smoogipoo
7c59fb37f1
Move check into callback
2021-05-21 16:00:58 +09:00
smoogipoo
36aa186c6e
Merge branch 'thread-safe-spectator-client'
2021-05-21 16:00:24 +09:00
smoogipoo
7f712a4d04
Fix EndPlaying potentially doing cross-thread mutation
2021-05-21 15:57:39 +09:00
smoogipoo
2fdf8aa1aa
Add update thread assertions
2021-05-21 15:57:31 +09:00
smoogipoo
895eb14c5a
Forcefully end playing to fix test failures
2021-05-21 14:09:30 +09:00
Andrei Zavatski
bd80cf656a
Merge remote-tracking branch 'refs/remotes/ppy/master' into sidebar
2021-05-20 15:41:08 +03:00
smoogipoo
e3284b976d
Merge branch 'thread-safe-spectator-client' into fix-spectator-playing-state-5
2021-05-20 19:46:26 +09:00
smoogipoo
06c99e8c7c
Fix race due to StopWatchingUser() being called asynchronously
2021-05-20 19:45:31 +09:00
smoogipoo
7ee81669f7
Remove bind helpers from SpectatorClient
2021-05-20 19:27:43 +09:00
smoogipoo
b515fe3cb1
Fix playing user state not removed on stop watching
2021-05-20 19:20:09 +09:00
smoogipoo
89b4f69588
Expose playing user states as bindable dictionary
2021-05-20 19:19:39 +09:00
smoogipoo
2896da499d
Merge branch 'restructure-spectator-client' into thread-safe-spectator-client
2021-05-20 18:53:54 +09:00
smoogipoo
a74405d0ed
Merge branch 'master' into restructure-spectator-client
2021-05-20 18:53:42 +09:00
smoogipoo
10597f7e6a
Remove locking from SpectatorClient
2021-05-20 18:37:27 +09:00
smoogipoo
6eff8d513e
Annotate nullables
2021-05-20 17:51:09 +09:00
smoogipoo
df80531a0a
Split online connectivity into OnlineSpectatorClient
2021-05-20 16:30:56 +09:00
smoogipoo
6beeb7f7c4
Rename SpectatorStreamingClient -> SpectatorClient
2021-05-20 15:55:07 +09:00
smoogipoo
d197a7f6f5
Rename multiplayer client classes
2021-05-20 15:39:45 +09:00
Dean Herbert
9267d23dc2
Make year nullable rather than defaulting to zero
2021-05-20 15:23:49 +09:00
Andrei Zavatski
16ffedde8a
Add year parameter to GetNewsRequest
2021-05-19 15:17:57 +03:00
Andrei Zavatski
24af86689f
Merge remote-tracking branch 'refs/remotes/ppy/master' into news-sidebar-new
2021-05-18 22:18:52 +03:00
smoogipoo
5f94b3bdac
Remove legacy playlist item ID handling
2021-05-18 21:03:59 +09:00
smoogipoo
e3b8d8ee18
Add support for overlay-coloured links
2021-05-17 16:58:54 +09:00
Gagah Pangeran Rosfatiputra
f2de28814a
add and handle OpenWiki link action
2021-05-17 00:43:59 +07:00
Andrei Zavatski
881d82ccb6
Merge remote-tracking branch 'refs/remotes/ppy/master' into news-sidebar-new
2021-05-15 19:08:48 +03:00
Bartłomiej Dach
5b2b701915
Ignore possible null in GetResponseString()
...
A null there indicates a deserialisation error and therefore due to the
catch block immediately succeeding the changed line everything will
continue to work as intended.
2021-05-15 00:09:34 +02:00
Bartłomiej Dach
aaa7c7eb05
Handle null case explicitly in SpectatorState.Equals()
...
Uses the usual pattern of two `ReferenceEquals` checks against `this`
and `null` before proceeding to inspect field values. Doing this causes
the compiler to infer that at the point that field values are checked,
`other` can no longer viably be `null`.
2021-05-14 23:58:07 +02:00
Andrei Zavatski
13a956f6fc
Merge remote-tracking branch 'refs/remotes/ppy/master' into news-sidebar-new
2021-05-12 20:08:17 +03:00
smoogipoo
f4c96b2675
Only update playing user states when users are watched
2021-05-12 13:10:59 +09:00
smoogipoo
ad11818868
Remove watched users on stop watching
2021-05-12 13:05:02 +09:00
smoogipoo
10a4a5decb
Merge branch 'master' into multiplayer-spectator-screen
2021-05-11 17:33:09 +09:00
Andrei Zavatski
4b97224932
Implement NewsSideBar component
2021-05-10 09:53:52 +03:00
Bartłomiej Dach
fe86ee629e
Fix temp files from beatmap listing imports not being cleaned up
...
As reported in #12718 , it turns out that temporary files from beatmap
set downloads performed via the beatmap listing overlay could remain in
the user's filesystem even after the download has concluded.
The reason for the issue is a failure in component integration.
In the case of online downloads, files are first downloaded to a
temporary directory (`C:/Temp` or `/tmp`), with a randomly generated
filename, which ends in an extension of `.tmp`.
On the other side, `ArchiveModelManager`s have a `ShouldDeleteArchive()`
method, which determines whether a file should be deleted after
importing. At the time of writing, in the case of beatmap imports the
file is only automatically cleaned up if the extension of the file is
equal to `.osz`, which was not the case for temporary files.
As it turns out, `APIDownloadRequest` has a facility for adjusting the
file's extension, via the protected `FileExtension` property. Therefore,
use it in the case of `DownloadBeatmapSetRequest` to specify `.osz`,
which then will make sure that the `ShouldDeleteArchive()` check in
`BeatmapManager` picks it up for clean-up.
2021-05-08 17:09:14 +02:00
smoogipoo
f8f9cf9412
Merge branch 'fix-initial-playingusers' into multiplayer-spectator-screen
2021-04-22 23:25:25 +09:00
smoogipoo
f593d9e42c
Fix playing users not being updated on room join
2021-04-22 23:23:43 +09:00
smoogipoo
6df23f1301
Merge branch 'master' into multiplayer-spectator-screen
2021-04-22 20:29:24 +09:00
Dan Balasescu
b774f5b72b
Merge pull request #12526 from peppy/fix-system-message-ordering
...
Fix system messages always being displayed above standard messages
2021-04-22 18:51:25 +09:00
Dean Herbert
3befb49ea9
Fix system messages always being displayed above standard messages
...
Closes https://github.com/ppy/osu/issues/12509 .
2021-04-22 14:52:01 +09:00
smoogipoo
4cc3321d54
Fix potential doubling of events
2021-04-20 21:20:08 +09:00
Gagah Pangeran Rosfatiputra
d4013bd885
add GetWikiRequest
2021-04-20 16:40:30 +07:00
Gagah Pangeran Rosfatiputra
f3555ad08c
add APIWikiPage response
2021-04-20 16:12:32 +07:00
smoogipoo
c50b526ba0
Remove local state dictionary from SpectatorScreen
2021-04-19 16:48:55 +09:00
smoogipoo
83716ddb08
Rename currentUserStates -> playingUserStates
2021-04-19 16:07:00 +09:00
smoogipoo
de9e37857e
Lock around playingUsers
2021-04-19 16:06:40 +09:00
smoogipoo
5885c24e00
Clear current user states on disconnect
2021-04-19 16:00:56 +09:00
smoogipoo
65a6f9f8a4
Merge branch 'fix-initial-spectator-state-callback' into multiplayer-spectator-screen
2021-04-16 18:26:46 +09:00
smoogipoo
ca74f413cd
Change to explicit method instead
2021-04-16 17:31:02 +09:00
smoogipoo
5652490d61
Fix OnUserBeganPlaying not being invoked if already watching
2021-04-16 14:11:55 +09:00
smoogipoo
56e1bffdfd
Populate initial user states
2021-04-13 23:57:16 +09:00
smoogipoo
5b53a2b211
Merge branch 'master' into multiplayer-spectator-screen
2021-04-13 20:07:56 +09:00
Salman Ahmed
92fab653e1
Take current mod settings value into account on equality comparsion
2021-04-12 20:51:13 +03:00
Salman Ahmed
fbd5195738
Extract mod setting value handling to utils class
2021-04-12 03:37:03 +03:00
Salman Ahmed
18fb9f5ac9
Merge branch 'master' into mod-using-reference-equality
2021-04-11 19:48:55 +03:00
smoogipoo
6eddc6c59e
Enable spectating multiplayer matches
2021-04-09 21:03:50 +09:00
Dean Herbert
51fee79ef1
Fix scores not being accepted due to missing ruleset ID
2021-04-09 15:18:02 +09:00
Dean Herbert
24ae5b9169
Fix slightly incorrect solo score submission routes
2021-04-08 23:15:08 +09:00
smoogipoo
2791d454d2
Don't send spectating user state yet
2021-04-07 22:21:22 +09:00
smoogipoo
99bee73ac1
Merge branch 'master' into add-spectate-button-and-state
2021-04-07 22:07:52 +09:00
smoogipoo
56c13148f1
Fix typo in class name
2021-04-07 16:45:10 +09:00
smoogipoo
6de91d7b6b
Add spectate button + test
2021-04-06 21:37:27 +09:00
smoogipoo
d5ba77b2c2
Add spectating user state
2021-04-06 21:22:28 +09:00
Dan Balasescu
ba3689b5b9
Merge pull request #12269 from PercyDan54/beatmap-details
...
Use OnlineViewContainer for BeatmapDetails
2021-04-06 17:52:32 +09:00
Dean Herbert
933c4010da
Allow creating OnlineViewContainers with no placeholder button
2021-04-06 16:17:20 +09:00
PercyDan54
d4724f4494
Fix crash
2021-04-04 09:44:45 +08:00
smoogipoo
e1aa927827
Add dropdown option to export score
2021-04-02 13:20:15 +09:00
Dean Herbert
0a889fafc4
Don't send progress updates when not in a downloading state
...
This is mostly just a sanity/debounce check.
2021-03-26 14:04:40 +09:00
Dean Herbert
17a0b19ee7
Always set progress before updating download state
...
Without doing so, a state change may read from an old progress value.
2021-03-26 14:04:10 +09:00
Max Hübner
aa2c1ee85e
Add new beatmap search filter row "General"
2021-03-25 23:20:10 +01:00
Dean Herbert
5267fb74c4
Add submission requests
2021-03-23 18:18:49 +09:00
Dean Herbert
aeff9bd853
Add return bool to HandleRequest to better trigger failures
2021-03-23 18:17:29 +09:00
Dean Herbert
ce452565f4
Avoid firing any kind of failures after success
2021-03-23 17:50:31 +09:00
Dean Herbert
f5ba746ae5
Fail all API requests sent to DummyAPIAccess
...
Until now, API requests sent to dummy API were just lost in the void. In most cases this somehow worked as expected, but any logic which is waiting on a request to finish will potentially never get a response.
Going forward, I'm not 100% sure that every `Wait` on a web response will have local timeout logic (I think there is a certain amount of assumption that this is being managed for us by `APIAccess`), so I've made this change to better handle such cases going forward. Now, rather than nothing happening, requests will trigger a failure via the existing exception logic rather than silently pretending the request never arrived.
2021-03-23 17:37:45 +09:00
Dean Herbert
58c60100b4
Fix APIScoreToken's data type not matching server side
2021-03-23 14:04:47 +09:00
smoogipoo
7fa5fd5647
Update usages of config with framework changes
2021-03-17 16:10:16 +09:00
Dan Balasescu
ff2327ffac
Merge branch 'master' into configure-await-false
2021-03-08 22:24:29 +09:00
Dean Herbert
b1cd01ceb8
Apply ConfigureAwait changes to game side
2021-03-08 14:36:35 +09:00
Dean Herbert
765cc5cf37
Remove iOS multiplayer blocking code
2021-03-08 14:35:22 +09:00
smoogipoo
7adb33f40e
Fix beatmap getting nulled due to failing web request
2021-03-01 17:24:54 +09:00
Dean Herbert
254f9bb58b
Show API human readable error message when chat posting fails
...
Closes #11902 .
2021-02-26 13:38:00 +09:00
Dean Herbert
9ed8d902f7
Fix requests being indefinitely queued when user is offline
2021-02-24 19:57:42 +09:00
Dean Herbert
664d243003
Disable multiplayer/spectator on iOS until it can be supported again
2021-02-23 15:22:46 +09:00
smoogipoo
d985b8ab2a
Increase beatmapset download timeout
2021-02-22 17:14:39 +09:00
Dean Herbert
a2aec6bcdc
Merge pull request #11808 from smoogipoo/multiplayer-no-playlist-mangling
...
Rework multiplayer playlist handling to support multiple items
2021-02-19 14:33:53 +09:00
smoogipoo
c0e0bd4f42
Add compatibility with old server build
2021-02-19 13:57:04 +09:00
smoogipoo
183a481a34
Refactor playlist update to remove .Contains() check
2021-02-19 13:32:32 +09:00
Dean Herbert
71316bbee5
Allow using OnlineViewContainer without deriving it
2021-02-18 17:45:58 +09:00
smoogipoo
56e9e10ff5
Make server authoritative in playlist item id
2021-02-18 15:30:31 +09:00
smoogipoo
8930ff4465
Merge branch 'master' into multiplayer-no-playlist-mangling
2021-02-17 19:29:01 +09:00
smoogipoo
70a995919c
Update comments
2021-02-17 17:58:24 +09:00
smoogipoo
0d1149911c
Don't display expired playlist items
2021-02-17 17:33:10 +09:00
smoogipoo
fb0e9d6760
Add played property to playlist item
2021-02-17 16:58:32 +09:00
Dean Herbert
86faa7f465
Merge pull request #11798 from smoogipoo/multiplayer-long-types
...
Use long type where required in multiplayer
2021-02-17 15:50:12 +09:00
smoogipoo
9a7b6ebe50
Fix missed occurrence
2021-02-17 14:30:52 +09:00
smoogipoo
f61b8e6154
Change to long
2021-02-16 21:32:38 +09:00
smoogipoo
100097d78f
Fix playlist not being handled correctly for non-joined cases
2021-02-16 21:32:35 +09:00
smoogipoo
379393fe10
Merge branch 'multiplayer-long-types' into multiplayer-no-playlist-mangling
2021-02-16 19:37:55 +09:00
smoogipoo
3e802531d3
Use long type where required in multiplayer
2021-02-16 19:34:01 +09:00
smoogipoo
3ff9e14e35
Make StatefulMultiplayerClient control current playlist item
2021-02-16 18:56:13 +09:00
Dean Herbert
02417697e9
Display remaining attempts for playlist rooms with room-level attempt limits
2021-02-16 13:32:14 +09:00
Dan Balasescu
6641f4d5a9
Merge branch 'master' into hub-send-version-hash
2021-02-15 21:12:46 +09:00
Dean Herbert
3562fddc27
Add missing nullability flag on CreateAccount return value
2021-02-15 17:02:07 +09:00
Dean Herbert
55d5d8d5be
Send version hash on hub connection
2021-02-15 16:51:40 +09:00
Dean Herbert
9ad38ab20e
Move HubClientConnector retrieval to IAPIProvider
2021-02-15 16:43:56 +09:00
Dan Balasescu
34e600464b
Merge branch 'master' into abstract-hub-connection
2021-02-15 13:53:54 +09:00
Dan Balasescu
dad6e7e825
Merge pull request #11755 from peppy/fix-message-formatter-domain
...
Fix MessageFormatter not working for custom endpoints
2021-02-12 16:01:55 +09:00
Dean Herbert
3799493536
Add test coverage of int match failures
2021-02-12 15:25:00 +09:00
Dean Herbert
bb9123eecd
Better handle fallback scenarios for beatmap links
2021-02-12 15:17:54 +09:00
Dean Herbert
1c5aaf3832
Add back default value
2021-02-12 15:03:53 +09:00
Dean Herbert
6a42d312f6
Match using EndsWith to ignore protocol (and allow http)
2021-02-12 14:59:56 +09:00
Dean Herbert
33c9ecac8a
Fix MessageFormatter not working for custom endpoints
2021-02-12 14:54:19 +09:00
Salman Ahmed
f4a7ec57e9
Remove unused using
2021-02-11 13:00:18 +03:00
Salman Ahmed
37e3d95c35
Slight reword in ConfigureConnection
's xmldoc
2021-02-11 12:39:06 +03:00
Salman Ahmed
d3c1b47592
Replace nullable API with null connector instead
2021-02-11 12:34:39 +03:00
Salman Ahmed
18acd7f080
Apply documentation suggestions
...
Co-authored-by: Dean Herbert <pe@ppy.sh>
2021-02-11 10:51:04 +03:00
Salman Ahmed
5fb99fdc52
Rename some members and extract connection closure to separate method
2021-02-11 10:49:16 +03:00
Salman Ahmed
0c5e66205b
Merge branch 'master' into abstract-hub-connection
2021-02-11 02:14:22 +03:00
smoogipoo
07b661e28c
Add Messagepack support for serialising unknown bindable types
2021-02-10 23:44:06 +09:00
Dan Balasescu
92599aa02b
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-09 21:06:09 +09:00
Dean Herbert
04c243386b
Fix initial state transfer regressing
2021-02-09 16:02:56 +09:00
Salman Ahmed
f04d6d5e5e
Update hub clients with changes to connecotr
2021-02-09 08:02:32 +03:00
Salman Ahmed
848b81e952
Remove necessity of making hub client connector a component
2021-02-09 07:53:22 +03:00
Salman Ahmed
71e564d399
Revert clients to be Component
s
2021-02-09 07:46:00 +03:00
Salman Ahmed
f76f92515e
Clean up spectator streaming client with new hub connector
2021-02-09 02:15:56 +03:00
Salman Ahmed
28b815ffe1
Clean up multiplayer client with new hub connector
2021-02-09 02:13:09 +03:00
Salman Ahmed
af345ea5db
Add a SignalR hub client connector component
2021-02-09 01:52:35 +03:00
smoogipoo
d8c53e34ae
Fix missing using
2021-02-08 19:42:17 +09:00
Dean Herbert
5fbed05d04
Merge pull request #11551 from smoogipoo/fix-leave-room-race-2
...
Fix client potentially not leaving a room on exiting multiplayer
2021-02-08 19:23:14 +09:00
smoogipoo
6e34e7d750
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-08 19:08:53 +09:00
smoogipoo
fb8e31a303
Fix incorrect connection building due to bad merges
2021-02-08 17:52:03 +09:00
smoogipoo
da85fb372d
Merge branch 'master' into fix-multiplayer-client-connection-reliability
2021-02-08 13:43:24 +09:00
Dean Herbert
dad32da415
Add rate limiting on sending download progress updates
2021-02-05 17:34:05 +09:00
Dean Herbert
110458612d
Avoid handling null playlist items when updating avaialability display
2021-02-05 17:19:23 +09:00
Dean Herbert
9e9e382bee
Merge branch 'master' into user-beatmap-downloading-states-2
2021-02-05 15:27:17 +09:00
Dean Herbert
c5fa818630
Actually handle case of failing to achieve lock on SemaphoreSlim
2021-02-05 14:08:13 +09:00
Dean Herbert
cd67fe1091
Merge branch 'master' into fix-multiplayer-client-connection-reliability
2021-02-05 14:04:57 +09:00
Dean Herbert
9258836f10
Merge pull request #11641 from smoogipoo/freemods
...
Add support for optional per-user mods in multiplayer (aka freemod)
2021-02-05 13:59:30 +09:00
smoogipoo
2e85ce5b82
Rename UserMods -> Mods for MultiplayerRoomUser
2021-02-05 12:40:16 +09:00
smoogipoo
85e63afcb4
Rename Mods -> RequiredMods
2021-02-05 12:36:25 +09:00
Dan Balasescu
a71d6a4c97
Merge branch 'master' into multiplayer-beatmap-tracker
2021-02-05 12:25:36 +09:00
smoogipoo
a2fdba3e51
Rename to OnlinePlayBeatmapAvailabilityTracker
2021-02-05 12:24:38 +09:00
Salman Ahmed
d62bbbb762
Enhance documentation
...
Co-authored-by: Dan Balasescu <smoogipoo@smgi.me>
2021-02-05 00:38:56 +03:00
smoogipoo
cf5233c6ab
Merge branch 'master' into freemods
2021-02-05 00:27:14 +09:00
Dean Herbert
76cfeae7e9
Add support for Bindable int in config
2021-02-04 15:10:56 +09:00
Salman Ahmed
db3f9e7cbe
Apply documentation suggestion
2021-02-04 02:20:18 +03:00
Dean Herbert
e3d323989c
Switch to SignalR 5.0 and implement using better API
2021-02-03 22:04:14 +09:00
smoogipoo
65d45ec74c
Unschedule cancellation
2021-02-03 20:50:22 +09:00
Dean Herbert
1380717ebb
Use PrimitiveObjectFormatter to simplify code
2021-02-03 20:19:27 +09:00
Dean Herbert
d3f056f188
Add missing licence header
2021-02-03 20:06:25 +09:00
Dean Herbert
75f1ebd5f9
Add custom resolver for mod settings dictionary
2021-02-03 19:46:47 +09:00
Salman Ahmed
62d0036c81
Fix using private constructor on MessagePack object
2021-02-02 17:45:11 +03:00
smoogipoo
97247b7a67
Fix unset key
2021-02-01 19:59:18 +09:00
smoogipoo
9c4c47599f
Merge branch 'master' into freemods
2021-02-01 19:28:10 +09:00
smoogipoo
89a42d60fb
General cleanup
2021-02-01 18:50:32 +09:00
smoogipoo
f538963607
Extra mods -> user mods
2021-02-01 17:57:32 +09:00
smoogipoo
ac2a995041
Add user and panel states
2021-02-01 17:54:56 +09:00
Dean Herbert
1d8de2f718
Rename class to better match purpose
2021-02-01 17:32:54 +09:00
Dean Herbert
fabb0eeb29
Add signalr messagepack key attribute
2021-02-01 17:27:14 +09:00
Dean Herbert
c73a05d0b5
Merge branch 'master' into multiplayer-beatmap-tracker
2021-02-01 17:24:24 +09:00
Bartłomiej Dach
c3ba92f057
Set canceled result in scheduleAsync
...
Was holding up the task completion source, and in consequence,
potentially the entire task chain.
2021-01-30 16:13:50 +01:00
Bartłomiej Dach
9ab1ad25eb
Merge branch 'master' into fix-leave-room-race-2
2021-01-30 13:41:04 +01:00
smoogipoo
ab9a3e6dd0
Pass allowed mods and consume on server callback
2021-01-29 18:21:22 +09:00
Dean Herbert
a61444690e
Remove all usage of CatchUnobservedExceptions
...
This should no longer be required with the recent framework side change
that stops a game from crashing on unobserved exceptions
(https://github.com/ppy/osu-framework/pull/4171 ).
2021-01-29 16:32:29 +09:00
Bartłomiej Dach
386f9f7842
Fix typos in comments
2021-01-28 22:36:07 +01:00
Dean Herbert
90a82f986b
Fallback to using json for signalr communication if JIT is unavailable
2021-01-28 16:20:19 +09:00
smoogipoo
c408b46a21
Add AllowedMods to MultiplayerRoomSettings model
2021-01-27 22:25:14 +09:00
Dan Balasescu
7d06af916c
Merge branch 'master' into add-messagepack
2021-01-27 13:00:46 +09:00
Bartłomiej Dach
4d4d97661e
Fix connection loop always getting a cancelled token
2021-01-26 21:26:50 +01:00
smoogipoo
248989b3eb
wip
2021-01-27 01:20:50 +09:00
smoogipoo
085115cba5
Make threading even more thread safe
2021-01-26 22:49:01 +09:00
Dean Herbert
b573c96c07
Move disconnect logic inside connection loop to ensure previous connection is disposed
2021-01-26 18:59:42 +09:00
Dean Herbert
15885c17af
Remove unused usings
2021-01-26 18:07:43 +09:00
Dean Herbert
20cfa991bf
Switch clients to MessagePack mode
2021-01-26 17:41:21 +09:00
Dean Herbert
9537090d28
Setup all spectator model classes for MessagePack
2021-01-26 16:39:35 +09:00
Dean Herbert
e4fc604163
Setup all multiplayer model classes for MessagePack support
2021-01-26 16:26:03 +09:00
Salman Ahmed
c317d60169
Add offline test scene for beatmap listing overlay
2021-01-26 00:03:20 +03:00
smoogipoo
bb44fcfe31
Prevent some data races
2021-01-25 21:01:39 +09:00
smoogipoo
964976f604
Use a task chain and fix potential misordering of events
2021-01-25 21:01:39 +09:00
Dean Herbert
0f09a7feb9
Avoid semaphore potentially getting held forever
2021-01-25 17:17:04 +09:00
Dean Herbert
994fb2667d
Call DisposeAsync instead of StopAsync
2021-01-25 17:11:04 +09:00
Dean Herbert
c05ae3497a
Make connect/disconnect private
2021-01-25 17:02:24 +09:00
Dean Herbert
d24d236468
Make OperationCanceledException throwing behaviour consistent
2021-01-22 14:34:58 +09:00
Dean Herbert
9f89b4e6d7
Rewrite connection logic to better handle failure cases
...
The main goal here is to ensure the connection is built each connection
attempt. Previously, the access token would never be updated, leading to
outdated tokens failing repeatedly (in the connection retry loop) and
never being able to establish a new connection as a result.
Due to threading considerations, this isn't as simple as I would hope it
to be. I'm open to proposals as to a better way of handling this.
Also, keep in mind that this logic will need to be abstracted and
(re)used in `SpectatorClient` as well. I've intentionally not done that
yet until we agree that this is a good direction forward.
2021-01-22 14:25:23 +09:00
Dean Herbert
e6980688f6
Leave the multiplayer channel when leaving multiplayer
2021-01-21 15:42:23 +09:00
Dan Balasescu
76e1f6e57b
Fix locking on incorrect object
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-21 12:45:44 +09:00
smoogipoo
6b139d4cf3
Reset task post-execution
2021-01-20 20:27:58 +09:00
smoogipoo
e005a1cc9f
Remove unnecessary condition blocking the part
2021-01-20 20:16:34 +09:00
smoogipoo
5261c01849
Tie JoinRoom() and PartRoom() together
2021-01-20 19:43:42 +09:00
Salman Ahmed
63b4c529a6
Add xmldoc explaining what the multiplayer beatmap tracker is for
2021-01-19 11:59:07 +03:00
Salman Ahmed
5a64abee64
Inline with above method
2021-01-19 11:59:07 +03:00
Salman Ahmed
63ca9de7e4
Rewerite beatmap term properly
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2021-01-18 23:00:07 +03:00