Dan Balasescu
77289c7224
Fix inability to serialise-then-deserialise playlist items
2022-06-03 20:36:12 +09:00
Dan Balasescu
5245995689
Use IsNotNull() helper
2022-06-03 19:50:21 +09:00
Dan Balasescu
646f5f0f33
Isolate "server-side" multiplayer rooms in testing
2022-06-03 19:17:34 +09:00
Dean Herbert
eb2d822530
Fix web requests potentially being performed after cancelled
...
Closes https://github.com/ppy/osu/issues/18524 .
2022-06-03 16:04:52 +09:00
Bartłomiej Dach
59ffc8b08e
Merge branch 'master' into multiplayer-leaderboard-user-mods-2
2022-06-02 20:45:10 +02:00
Dan Balasescu
4d9a77bdc0
Stop using Drawable.Clock altogether
2022-06-02 15:02:50 +09:00
Dan Balasescu
6fb1fe06a0
Remove unnecessary ApplyBeatmap call
2022-06-02 14:47:04 +09:00
Dan Balasescu
13d85b8cc7
Merge branch 'scoreprocessor-cleanup' into multiplayer-leaderboard-user-mods-2
2022-05-31 19:53:37 +09:00
Dan Balasescu
22d998dc2a
Use new score processor in MultiplayerGameplayLeaderboard
2022-05-30 19:26:26 +09:00
Dan Balasescu
75b50de269
Implement score processor for spectator states
2022-05-30 19:26:26 +09:00
Dan Balasescu
a052e09ac3
Send ScoreProcessor statistics in SpectatorState
2022-05-30 19:26:26 +09:00
Dean Herbert
dcc53fbd47
Merge branch 'rename-chat-overlay' into fix-dummmy-api-request-firing-2
2022-05-30 17:56:12 +09:00
Dean Herbert
f65d2db77f
Remove "V2" suffix from ChatOverlay
components
2022-05-30 17:54:09 +09:00
Dean Herbert
c18dd8c8fb
Ensure Queue
operations on DummyAPIAccess
are performed on the update thread
2022-05-30 16:32:44 +09:00
Dean Herbert
a2a057440e
Fail requests taretting the fake API with a more deliberate exception
...
I think this feels better than relying on some other method to throw an
exception.
2022-05-30 16:31:54 +09:00
Jai Sharma
8f596520f3
Remove old chat overlay components
2022-05-29 20:08:43 +01:00
Dean Herbert
ca9b2648a3
Merge pull request #18421 from peppy/reconnect-on-server-shutdown-exception
...
Handle server shutdown messages in room creation and spectator initialisation
2022-05-28 03:52:24 +09:00
Dean Herbert
ef47b380c6
Add featured artist playlist category
2022-05-27 20:18:46 +09:00
Dean Herbert
b2607196b8
Merge branch 'master' into new-chat-integrate
2022-05-26 18:38:26 +09:00
Dean Herbert
abb69a49b0
Handle server shutdown messages in room creation and spectator initialisation
2022-05-26 18:03:41 +09:00
Dean Herbert
63dd9bd493
Expose Reconnect
logic in HubClientConnector
2022-05-26 18:02:50 +09:00
Dean Herbert
87959a59d9
Add missing "announce" channel type
...
Of note, this doesn't mean the channels will display, but it does fix
parsing errors which cause the whole chat display to fail.
2022-05-25 18:28:33 +09:00
Jai Sharma
d2a49ca266
Use ChatOverlayV2
in message notifier and tests
2022-05-23 21:02:50 +01:00
Dean Herbert
136ecb45e2
Rename dummy channel and move to a nested class inside the ChannelListing
itself
2022-05-19 19:26:14 +09:00
Jai Sharma
dd4b11c593
Re-add exception handling on PM message request failure
2022-05-18 01:47:23 +01:00
Jai Sharma
ae5b6c3e10
Use dummy channel to show selector and remove ChannelListSelector
...
Add dummy channel `DummySelectorChannel` which should be set as the
current channel in the channel manager when the selector in the chat
overlay should be shown.
Refactors the `ChannelListItem` to not show mention pill and close
button when the channel is the dummy selector channel.
Ensure that the `ChannelList` selects the dummy channel on clicking the
selector item.
Removes `ChannelListSelector` as it is no longer needed.
Removes the `setCurrent` parameter from `ChannelManager.JoinChannel`
method as it is no longer needed.
2022-05-15 20:24:49 +01:00
Salman Ahmed
d5027cdfbd
Add FeaturedInSpotlight
property to API beatmapsets
2022-05-14 19:46:13 +03:00
Dean Herbert
a35c57860c
Resolve colour inline
2022-05-12 23:54:43 +09:00
Dean Herbert
8760e5d884
Merge branch 'master' into new-chat-drawable-channel
2022-05-12 22:36:19 +09:00
Jai Sharma
cced8609f6
Add setCurrent
param to ChannelManager.JoinChannel
2022-05-11 22:51:15 +01:00
Jai Sharma
f4acfbd0df
Change return type of CreateDaySeparator
to Drawable
2022-05-07 22:23:46 +01:00
Jai Sharma
bec28c5b28
Remove virtual ColourInfo
properties from DaySeparator
2022-05-07 22:16:11 +01:00
Jai Sharma
9d62206176
Update new chat overlay day separator colours and spacing
...
Updates the `DaySeparator` component to have separately settable colours
for the text and the lines.
Updates existing overrides of the `DaySeparator` to use the new colour
setter.
Create new `ChatOverlayDrawableChannel` with adjusted spacing and new
`DaySeparator` colours.
2022-05-06 23:06:18 +01:00
Dean Herbert
319867f73c
Mark GuestUser
as system user via Id
for now
...
Should resolve https://github.com/ppy/osu/issues/18105 .
Checking through usages, it doesn't immediately look like this will
regress any other scenarios.
2022-05-06 17:37:46 +09:00
Dean Herbert
2f12c7d9e1
Change ChatTextBox
to not handle up/down arrows
2022-05-04 19:09:22 +09:00
Dean Herbert
5c13200c75
Update production endpoint to new version
2022-05-01 13:01:38 +09:00
Dan Balasescu
fe0fcc7e9e
Rename countdown object
2022-04-28 20:00:38 +09:00
Dan Balasescu
b293d3923c
Merge branch 'master' into multiplayer-force-start-2
2022-04-23 01:03:55 +09:00
Salman Ahmed
a9ea0ab91b
Add support for fetching user guest participations
2022-04-22 07:55:39 +03:00
Dan Balasescu
cbb07d4011
Add countdown classes
2022-04-21 23:14:37 +09:00
Dan Balasescu
59622deb1f
Add LoadAborted() event
2022-04-21 22:40:52 +09:00
Dan Balasescu
08d250fe58
Rename MatchStarted() -> GameplayStarted()
2022-04-21 22:39:24 +09:00
Dan Balasescu
8c3b541312
Add state for when user is ready for gameplay
2022-04-21 22:35:52 +09:00
Dean Herbert
e54d3702a6
Specify web proxy in SignalR connection building
...
Might solve https://github.com/ppy/osu/discussions/17897 (depends on how
adeptly signalr falls back to long polling if/when is fails to websocket
via the proxy, or maybe succeed).
As with the framework side change, I've tested this to not break a
zero-proxy flow. Intending to have the user test this after next
release.
Reference:
https://stackoverflow.com/questions/59343807/get-system-default-web-proxy-in-net-core
/
https://stackoverflow.com/questions/13515058/using-signalr-client-through-a-web-proxy
2022-04-21 15:16:41 +09:00
Joseph Madamba
5e5c8e78a6
Use existing web localisation for most hardcoded strings
2022-04-20 16:31:11 -07:00
Bartłomiej Dach
f82d58fa6a
Merge branch 'master' into update-paginated-profile-items-count
2022-04-19 22:17:26 +02:00
Salman Ahmed
c858ec2483
Pagination
-> `PaginationParameters
2022-04-19 02:48:34 +03:00
Salman Ahmed
96d4369cc8
Introduce Pagination
and simplify paginated API requests
2022-04-19 02:04:23 +03:00
Salman Ahmed
9d59cd408f
Add concept of "initial items count" in paginated API requests
2022-04-18 22:59:49 +03:00
Dean Herbert
043599081b
Split out INotificationOverlay
to allow for easier testing
2022-04-18 20:14:01 +09:00
Dean Herbert
e315313266
Split out IDialogOverlay
to allow for easier testing
2022-04-18 18:36:26 +09:00
Dean Herbert
0a7fbcad1e
Merge branch 'master' into match-start-control-test-refactor
2022-04-13 22:26:10 +09:00
Dean Herbert
c0ad91796d
Fix gameplay start flow
2022-04-13 20:57:40 +09:00
Dean Herbert
2bb0d9e6d3
Expose required classes/properties for mocking
2022-04-13 17:02:33 +09:00
Dan Balasescu
59ff9be316
Merge pull request #17788 from peppy/fix-replay-download-button-tests
...
Fix multiple issues in `ReplayDownloadButton` test scene
2022-04-13 16:00:45 +09:00
Dean Herbert
20eca9bf6a
Refactor TestSceneRankRangePill
to not depend on TestMultiplayerClient
2022-04-12 19:39:24 +09:00
Dean Herbert
b51abfc722
Fix ScoreDownloadTracker
matching on empty hash equality
2022-04-12 18:22:23 +09:00
Dean Herbert
09d560c93e
Add test coverage of spectator requests
2022-04-11 19:27:14 +09:00
Dean Herbert
34457b4742
Expose mocked members as virtual
on Multiplayer
and SpectatorClient
2022-04-11 19:04:15 +09:00
Dean Herbert
ae1e126837
Make HighlightMessage
implicitly show chat overlay
2022-04-09 00:30:28 +09:00
Dan Balasescu
9ea6f9b1fe
Remove some incorrectly-firing asserts
2022-04-08 21:44:44 +09:00
Dan Balasescu
62f5409191
Merge pull request #17725 from peppy/multiplayer-hotifx
...
Avoid multiplayer crashes when events arrive in unexpected order
2022-04-08 20:23:37 +09:00
Dean Herbert
5c571996d8
Avoid multiplayer crashes when events arrive in unexpected order
...
Intended to be a temporary fix for
https://github.com/ppy/osu/issues/17713 while a more permanent solution
is established. A proper fix is actually quite simple, but updating the
test to work with it is... *slightly* more complicated.
This hotfix will mean that if a `UserJoined` event arrives during the
unobserved window during room join (of the local user), the local user
still won't see the joining user, but the game won't crash as a result.
2022-04-08 17:55:47 +09:00
Dean Herbert
6bb8243212
Fix potential assert failure due to Room
access from disconnection event
2022-04-08 17:41:03 +09:00
Dean Herbert
933a722cfc
Remove secondary null checks which cannot exist (were on wrong thread)
2022-04-08 14:56:04 +09:00
Dean Herbert
64c63fe93a
Move null check in JoinRoom
on to update thread
2022-04-08 14:52:56 +09:00
Dean Herbert
d50f41225f
Rename scheduleAsync
to runOnUpdateThreadAsync
2022-04-08 14:43:53 +09:00
Dean Herbert
9ba99ed57d
Ensure all access to MultiplayerClient.Room
is on the update thread
...
This was an implicit requirement until now, but not well documented
everywhere. Adding this makes it much easier to understand the
requirement (and probably safer).
2022-04-08 14:42:56 +09:00
Dean Herbert
f795f77cf9
Add missing newline
2022-04-06 14:00:54 +09:00
Dean Herbert
c540810943
Merge branch 'master' into fix-multiplayer-unobserved
2022-04-06 11:33:10 +09:00
Dan Balasescu
6e6271d0c0
Fix "server-side" room playlist not updated
...
Remove unused using
2022-04-01 18:32:10 +09:00
Dan Balasescu
16d4544ff9
Prevent reloads when playlist item order changes
2022-04-01 17:06:37 +09:00
Dean Herbert
5b3eb2d6f4
Add helper class to handle firing async multiplayer methods
2022-03-31 19:27:45 +09:00
Dean Herbert
a0692ce477
Add a const
for system users which should never display a profile
2022-03-28 22:22:56 +09:00
Dean Herbert
f92a31cd39
Merge pull request #17402 from smoogipoo/multiplayer-auto-countdown
...
Add multiplayer auto-start countdown timer
2022-03-25 20:31:14 +09:00
Dean Herbert
792e79265b
Add ignore rule for new helper property
2022-03-25 15:46:27 +09:00
Dean Herbert
b1f0f89fdd
Simplify AutoStart
and Host
checks
2022-03-25 15:41:01 +09:00
Dean Herbert
de4c04ef80
Fix non-matching json propert for AutoStartDuration
2022-03-25 15:34:33 +09:00
Dan Balasescu
0d88af19ae
Fix local setting not being updated
2022-03-24 20:23:58 +09:00
Dan Balasescu
40eca0fbe2
Merge branch 'master' into multiplayer-auto-countdown
2022-03-24 18:11:51 +09:00
Dean Herbert
e889d93441
Add asserts of playlist being non-empty after client operations
2022-03-24 17:52:20 +09:00
Dan Balasescu
a83a90e675
Rename countdown Delay -> Duration
2022-03-23 15:21:16 +09:00
Dan Balasescu
f7c0047206
Send time remaining in countdowns instead
2022-03-23 15:19:43 +09:00
Dan Balasescu
d0fee53e1f
Implement auto countdown timers
...
Change to using TimeSpan
2022-03-22 14:34:06 +09:00
Dan Balasescu
04f4e81852
Rename start countdown request
2022-03-18 21:05:19 +09:00
Dan Balasescu
72843a6797
Add support for starting/stopping countdowns
2022-03-18 14:33:09 +09:00
Dan Balasescu
3b938865a1
Add room structure for countdown timers
2022-03-18 14:31:57 +09:00
Dean Herbert
1814a325d8
Move GetSettingUnderlyingValue
to a SettingSource
extension method
2022-03-15 14:54:00 +09:00
Salman Ahmed
cc87563d57
Merge branch 'master' into chat-mention-highlight
2022-03-11 17:51:22 +03:00
Salman Ahmed
a31611bdec
Improve channel switching flow in HighlightMessage
2022-03-10 23:07:15 +03:00
Salman Ahmed
8086f73451
Revert "Add functionality to switch to successfully joined channel"
...
This reverts commit c72e8a8b5e
.
2022-03-10 23:07:15 +03:00
Salman Ahmed
c72e8a8b5e
Add functionality to switch to successfully joined channel
2022-03-10 21:28:38 +03:00
Dan Balasescu
c61397cc22
Fix whitespace/inspection
2022-03-10 16:22:27 +09:00
Dan Balasescu
13a4058efd
Merge pull request #17191 from peppy/fix-mod-conversion-exceptions
...
Change `ToMod` to return an `UnknownMod` rather than throw if a mod isn't available
2022-03-10 16:20:50 +09:00
Dean Herbert
022dd88aef
Merge branch 'master' into chat-mention-highlight
2022-03-10 14:23:23 +09:00
Dean Herbert
0267aed846
Change ToMod
to return an UnknownMod
rather than throw if a mod isn't available
...
As seen by this kind of crash, having the `.ToMod` method throw can be
very problematic and also hidden (as it is used inside of models in
places where exceptions are not expected to occur).
Given there are tens of usages of this method, returning a placeholder
mod seems like a better idea than outright throwing.
```
An unhandled has occurred.
System.InvalidOperationException:
There is no mod in the ruleset (osu) matching the acronym AS.
at osu.Game.Online.API.APIMod.ToMod(Ruleset ruleset) in /Users/dean/Projects/osu/osu.Game/Online/API/APIMod.cs:line 54
at osu.Game.Scoring.ScoreInfo.<get_Mods>b__117_0(APIMod m) in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at System.Linq.Enumerable.SelectArrayIterator`2.ToArray()
at osu.Game.Scoring.ScoreInfo.get_Mods() in /Users/dean/Projects/osu/osu.Game/Scoring/ScoreInfo.cs:line 193
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c.<subscribeToLocalScores>b__40_2(ScoreInfo s) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line 199
at System.Linq.Enumerable.WhereEnumerableIterator`1.MoveNext()
at osu.Game.Database.RealmObjectExtensions.Detach[T](IEnumerable`1 items) in /Users/dean/Projects/osu/osu.Game/Database/RealmObjectExtensions.cs:line 180
at osu.Game.Screens.Select.Leaderboards.BeatmapLeaderboard.<>c__DisplayClass40_0.<subscribeToLocalScores>g__localScoresChanged|1(IRealmCollection`1 sender, ChangeSet changes, Exception exception) in /Users/dean/Projects/osu/osu.Game/Screens/Select/Leaderboards/BeatmapLeaderboard.cs:line
209
at Realms.RealmCollectionBase`1.Realms.INotifiable<Realms.NotifiableObjectHandleBase.CollectionChangeSet>.NotifyCallbacks(Nullable`1 changes, Nullable`1 exception)
at Realms.NotifiableObjectHandleBase.NotifyObjectChanged(IntPtr managedHandle, IntPtr changes, IntPtr exception)
```
2022-03-09 17:57:55 +09:00
Dan Balasescu
b07a1e8d09
Fix unable to copy playlist rooms without first opening
2022-03-09 15:38:00 +09:00
Dean Herbert
512536f5fe
Fix unconditional null in Equals
implementation
2022-03-08 23:25:51 +09:00
Dean Herbert
da7c6f1772
Merge branch 'master' into chat-mention-highlight
2022-03-08 21:15:12 +09:00
Dean Herbert
b0f40d9e45
Remove user
from SubmittableScore
...
This wasn't being used by osu-web, and included far too much unnecessary
data. Of note, `pp` and `ruleset_id` are also not strictly required, but
there's no harm in sending them so I've left them be for now.
2022-03-08 18:38:24 +09:00
Salman Ahmed
f8e5570e41
Fix Message
equality not passing on equal references
2022-03-08 03:20:20 +03:00
Salman Ahmed
7f47be4680
Refactor message highlighting logic to rely on a Channel
data bindable
2022-03-08 03:19:37 +03:00
Salman Ahmed
5764c53c17
OpenChannelNotification -> HighlightMessageNotification
2022-03-08 03:16:07 +03:00
Salman Ahmed
32d242dd62
Hook up message notifications to chat message highlighting logic
2022-03-07 05:10:49 +03:00
Dean Herbert
6673e456c5
Merge pull request #17090 from miniriley2012/wiki-locale-fix
...
Fix wiki links containing locale not loading when opened from chat.
2022-03-04 19:36:14 +09:00
Riley Quinn
8491bab77c
Replace string locale with Language
2022-03-04 00:57:13 -06:00
Dean Herbert
d4a2645510
Add localisation support for leaderboard error text
2022-03-02 14:14:44 +09:00
Dean Herbert
c342030b2c
Add specific placeholder message for custom rulesets rather than showing network error
2022-03-02 14:10:59 +09:00
Dean Herbert
67082b8c5d
Remove verbose logging from SpectatorClient
for now
2022-02-25 22:25:36 +09:00
Dan Balasescu
e947c97e10
Merge branch 'master' into spectator-reliability
2022-02-25 20:20:30 +09:00
Dan Balasescu
8eef1774d5
Use Logger.Log instead of console
2022-02-25 20:18:22 +09:00
Dan Balasescu
80fc13fc1f
Merge pull request #16976 from peppy/dont-expose-mark-as-read-errors-to-user
...
Don't expose "mark as read" errors to the user via notifications
2022-02-24 23:20:34 +09:00
Dan Balasescu
16a3bbbcb4
Merge pull request #16944 from peppy/rooms-request-faster
...
Update playlists/multiplayer to use new compact response
2022-02-24 23:20:07 +09:00
Dean Herbert
35302aa297
Merge pull request #16980 from smoogipoo/fix-union-workaround-resolver
...
Fix SignalR union workaround resolver failing on multiple union'd types
2022-02-24 22:24:48 +09:00
Dan Balasescu
c5b1e5cbf8
Fix union resolver failing on multiple derived types
2022-02-24 20:27:22 +09:00
Dean Herbert
d69446ff6e
Merge pull request #16979 from smoogipoo/fix-playlists-partial-mod
...
Fix playlists not allowing entry with partial mods
2022-02-24 19:37:10 +09:00
Dan Balasescu
2acaffd5e7
Fix APIMod storing bindables instead of value
2022-02-24 17:01:12 +09:00
Dean Herbert
c6d78b9325
Fix several oversights in data linking causing drawable rooms not updating as expected
2022-02-24 16:12:15 +09:00
Dean Herbert
b4a54b38e7
Remove redundant parameter specification
2022-02-24 16:02:16 +09:00
Dean Herbert
3f6bdc5585
Don't expose "mark as read" errors to the user via notifications
...
This can happen if the user leaves the channel before the request is
fired. You can't mark a channel as read when you're not in the channel.
Addresses https://github.com/ppy/osu/discussions/16973 .
2022-02-24 15:40:07 +09:00
Bartłomiej Dach
29d77a29aa
Merge branch 'master' into startup-protocol-handling
2022-02-23 21:10:27 +01:00
Dean Herbert
3f2ef030e4
Group SpectatorClient
private fields together
2022-02-24 02:31:55 +09:00
Dean Herbert
5ffdd57895
Rename weirdly named parameter
2022-02-24 02:28:13 +09:00
Dean Herbert
694c6ad872
Fix frames potentially getting lost due to non-matching Schedule
usage
2022-02-24 02:28:13 +09:00
Dean Herbert
47b84295a6
Fix bundle send logic not correctly waiting for task completion (due to nested schedule)
2022-02-24 02:23:48 +09:00
Dean Herbert
cff6f85472
Add note about reconnection being insufficient currently
2022-02-24 02:23:48 +09:00
Dean Herbert
5ff4d3f8e5
Add support to SpectatorClient
to resend failed frame bundles
2022-02-24 02:21:29 +09:00
Dean Herbert
53bbd00675
Also make APIUser
opt-in and remove the remaining serialization exclusion rule
2022-02-23 17:12:38 +09:00
Dean Herbert
43c83d2de1
Add note about why RoomID
is nulled in DeepClone
2022-02-23 17:10:11 +09:00
Dean Herbert
f14a9af801
Make Room
opt-in rather than opt-out for json serialization
2022-02-23 17:10:10 +09:00
Dean Herbert
28c9c5ab6a
Remove unnecessary ShouldSerialize
rules in Room
2022-02-23 17:10:10 +09:00
Susko3
7bdcb5952e
Fix handling badly-formatted osu:// urls
2022-02-23 00:36:56 +01:00
Bartłomiej Dach
1a358698fb
Merge branch 'master' into startup-protocol-handling
2022-02-22 22:42:16 +01:00
Dean Herbert
ed008267d7
Fix one more case of escaping not being present
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:18 +09:00
Dean Herbert
ca0a041153
Fix missing escaping causing test failures
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-22 16:45:04 +09:00
Dean Herbert
61b3280de1
Add missing property copies in Room.CopyFrom
implementation
2022-02-22 15:47:00 +09:00
Dean Herbert
71ae425fb2
Merge branch 'master' into rooms-request-faster
2022-02-22 15:45:05 +09:00
Dean Herbert
f12044b03e
Add mention of PlaylistItem.Beatmap
being a placeholder in many cases
2022-02-22 15:31:08 +09:00
Bartłomiej Dach
e3ae52360e
Merge branch 'master' into leaderboard-score-timeref
2022-02-21 20:50:00 +01:00
Dean Herbert
b43008b9f6
Add cover and count handling from newer response version
2022-02-21 19:05:22 +09:00
Dean Herbert
39d64e779c
Handle API returned difficulty range for rooms
2022-02-21 19:05:19 +09:00
Dean Herbert
7f4cc221d2
Add API versioning
2022-02-21 19:02:03 +09:00
Dean Herbert
1737128334
Allow room category to be copied even if Spotlight
...
I remember that this conditional copy was added to support making copies
of spotlight rooms without carrying across the `Spotlight` type, but in
testing this is already handled web side to the point that it's not
required.
The rationale for allowing the copy is that this method is used for
tests, where it was not being copied correctly from the input as
expected (used at
bdc3b76df0/osu.Game/Tests/Visual/OnlinePlay/TestRoomManager.cs (L38)
).
2022-02-21 17:47:56 +09:00
Dean Herbert
fc1877b6fa
Move to extension method and revert logic to match previous implementation
2022-02-21 13:42:26 +09:00
Dean Herbert
79408f6afc
Add xmldoc and clean up ScoreboardTimeUtils
extension methods a touch
2022-02-21 13:30:58 +09:00
Dean Herbert
2ded7d281b
Remove unused using statement
2022-02-21 13:17:19 +09:00
Dean Herbert
abe1a3990a
Merge branch 'master' into leaderboard-score-timeref
2022-02-21 12:11:10 +09:00
dekrain
262751a98a
Revert highlighting recent scores
2022-02-19 21:23:35 +01:00
dekrain
31b7ce053d
Fix CI issues
2022-02-19 21:18:26 +01:00
dekrain
0d83c5a39a
Add colour highlighting recent scores
2022-02-19 20:47:30 +01:00
dekrain
15ed9ec4fa
Merge scoreboard and leaderboard implementations together
2022-02-19 20:47:02 +01:00
Dean Herbert
98aaf83177
Add a centralised constant for the osu URL schema protocol
2022-02-18 15:57:37 +09:00
dekrain
1abbb9ab39
Align the bar to be on baseline of score components
...
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-02-17 21:26:59 +01:00
Dean Herbert
9d0023c750
Fix incorrect mappings
2022-02-17 21:12:51 +09:00
Dean Herbert
3d5ed24e20
Fix beatmap overlay leaderboards and links not working
...
Completely aware that this isn't how it should be done, but would like
to get this out in a hotfix release today. Maybe changes opinions on
https://github.com/ppy/osu/pull/16890 structure?
2022-02-17 21:05:00 +09:00
dekrain
f4d1e6f600
Add tests for timerefs
2022-02-17 10:38:29 +01:00
dekrain
7bd731ae08
Move the date next to the flag icon
2022-02-17 10:12:35 +01:00
dekrain
333a305af3
Use floor instead of ceiling
2022-02-17 00:09:17 +01:00
dekrain
c124034cf3
Add text displaying recent score time
2022-02-16 23:18:14 +01:00
Dan Balasescu
55d9f0b44b
Store beatmap to a field instead
2022-02-16 16:03:08 +09:00
Dean Herbert
7e24b36f26
Merge branch 'master' into remove-playlistitem-beatmap
2022-02-16 14:24:57 +09:00
Dan Balasescu
5db63a8751
Expose read-only list from request
2022-02-16 11:30:03 +09:00
Dan Balasescu
ea5bb46fb8
Merge branch 'master' into net6
2022-02-16 00:40:04 +09:00
Dan Balasescu
b1dbd4abfe
Fix incorrect playlist item <-> availability tracker logic
...
Results in revert to some prior logic for the tracker implementation.
2022-02-15 23:50:12 +09:00
Dan Balasescu
bdc3b76df0
Remove beatmap bindable from PlaylistItem
2022-02-15 23:50:08 +09:00
Dan Balasescu
94a974e1c9
Make OnlinePlayBeatmapAvailabilityTracker look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
afcb7a4630
Make DrawableRoomPlaylistItem look up the online beatmap
2022-02-15 23:41:50 +09:00
Dan Balasescu
ccd265ebe7
Handle beatmap lookup requests in TestRoomRequestsHandler
2022-02-15 23:41:50 +09:00
Dan Balasescu
efeba30b9f
Remove ruleset and mod bindables from PlaylistItem
2022-02-15 16:28:15 +09:00
Dean Herbert
28b45fa899
Add assertions against null reference for connection usages
2022-02-15 15:19:50 +09:00
Dan Balasescu
8b05b35b8c
Merge pull request #16854 from peppy/combine-score-submission-request-implementation
...
Standardise and combine base implementation of score submission requests
2022-02-11 17:31:55 +09:00
Dean Herbert
28bbf34b14
Remove unnecessary this.
prefix
2022-02-11 16:21:49 +09:00
Dan Balasescu
43f1044987
Merge pull request #16850 from frenzibyte/readonly-pinned-scores
...
Add read-only pinned scores view in user profile overlay
2022-02-11 16:15:46 +09:00
Dean Herbert
beb3731c0b
Standardise and combine base implementation of score submission requests
...
These share too much yet have very different constructor signatures and
property exposure. Just a clean-up pass as I begin to look at replay
submission.
2022-02-11 15:53:47 +09:00
Salman Ahmed
92e22c57a7
Introduce private APIRuleset
for online ID equality comparison
2022-02-11 08:27:01 +03:00
Salman Ahmed
9cd88ec2b8
Update API models with score pinning changes
2022-02-10 21:23:38 +03:00
Dan Balasescu
ffc4c64f7e
Unify namings across the board
2022-02-09 12:10:07 +09:00
Dan Balasescu
886d1d2df6
Refactorings
2022-02-08 21:29:43 +09:00
Dan Balasescu
c1766d8a41
Add paused state
2022-02-08 20:29:53 +09:00
Dan Balasescu
4c76027178
Rename completed state to passed
2022-02-08 20:29:49 +09:00
Dan Balasescu
483977d5c8
Merge branch 'master' into spectator-state-rework
2022-02-03 19:59:07 +09:00
Dean Herbert
a69c7a9de6
Split exceptions back out to give better messaging
2022-02-03 14:09:27 +09:00
Dean Herbert
62fa915193
Standardise exception messages for local-user-logged-out flows
2022-02-03 13:58:55 +09:00
Dan Balasescu
d9a43b4c4c
Fix API requests not completing when offline
2022-02-03 13:16:54 +09:00
Dan Balasescu
81a22dbd29
Add back playing users list
2022-02-02 23:19:43 +09:00
Dan Balasescu
fcbba3d948
Rename PlayingUserStates -> WatchingUserStates
2022-02-02 23:11:29 +09:00
Dan Balasescu
6d3bc005ea
Merge branch 'master' into spectator-state-rework
2022-02-02 18:57:04 +09:00
Dean Herbert
6d962e7925
Merge pull request #16726 from dekrain/leaderboard-score-tooltip
...
Add basic tooltip for leaderboard scores
2022-02-02 13:56:45 +09:00
Dean Herbert
d065e32ca1
Fix crash due to 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