Dean Herbert
22d0b34623
Remove flag causing intiialisation to only run once ever
2023-01-09 16:38:37 +09:00
Dean Herbert
13c3d2c254
Fix retry loop for channel initialisation resulting in request pile-up
...
Closes #22060 .
2023-01-09 16:15:31 +09:00
Bartłomiej Dach
9b68932eb4
Merge branch 'master' into beatmap-info-nominators
2023-01-08 14:35:07 +01:00
Joseph Madamba
9d32fde592
Mark current nominations and related users as nullable
2023-01-07 11:04:42 -08:00
Joseph Madamba
0f6735564e
Move and rename nomination response model to singular
2023-01-07 10:54:48 -08:00
ansel
58bf7349ee
Fix request
2023-01-07 02:59:32 +03:00
ansel
768a33bb64
Add request class
2023-01-06 23:31:19 +03:00
Salman Ahmed
e449d8dda0
Fix friends list duplicating on connection failure
2023-01-06 22:39:46 +03:00
Joseph Madamba
7f970f3cd8
Display nominators on beatmap set overlay
2023-01-06 11:33:39 -08:00
Dean Herbert
464f251c0c
Merge branch 'master' into beatmap-set-link-genre-language
2023-01-06 17:09:06 +08:00
Dean Herbert
96e81e7f41
Switch on NRT and add IEquatable
to GetScoresRequest
2023-01-04 01:41:21 +08:00
Bartłomiej Dach
2698d58c46
Merge branch 'master' into remember-chat-textbox-per-channel
2023-01-01 17:29:38 +01:00
Joseph Madamba
70dbb8edac
Fix stand alone chat display textbox not binding to local channel
2022-12-29 01:37:37 -08:00
Joseph Madamba
c326745f96
Save / sync chat text box messages per channel
2022-12-28 16:09:40 -08:00
Dean Herbert
ea8beffa61
Merge pull request #21871 from bdach/solo-statistics-watcher-reliability
...
Improve reliability of solo statistics watcher
2022-12-28 21:05:38 +08:00
Bartłomiej Dach
3c0b8af8f1
Allow unsubscribing from solo statistics updates
...
This is more of a safety item. To avoid potential duplicate key in
dictionary errors (and also avoid being slightly memory-leaky), allow
`SoloStatisticsWatcher` consumers to dispose of the subscriptions they
take out.
2022-12-28 08:07:48 +01:00
Bartłomiej Dach
a0a26b1e8c
Ignore statistics update subscriptions with invalid score ID
...
If score submission fails, the score will not receive a correct online
ID from web, but will still be passed on to the solo statistics watcher
on the results screen. This could lead to the watcher subscribing to
changes with score ID equal to the default of -1. If this happened more
than once, that would cause a crash due to duplicate keys in the
`callbacks` dictionary.
Closes #21837 .
2022-12-28 07:54:01 +01:00
Bartłomiej Dach
e9d32fca18
Fix various failures in initial statistics fetch
...
- If the local user is restricted, then attempting to fetch their data
from the `/users` endpoint would result in an empty response.
- Even if the user was successfully fetched, their `RulesetsStatistics`
may not be populated (and instead be `null`). Curiously this was not
picked up by static analysis until the first issue was fixed.
Closes #21839 .
2022-12-28 07:31:36 +01:00
Dean Herbert
0d78bc2248
Fix osu.ppy.sh
links no longer opening in-game
...
Addresses https://github.com/ppy/osu/discussions/21838 .
2022-12-28 06:42:35 +08:00
Dean Herbert
b3e44f20bc
Use new lazer API endpoint
...
This is a temporary change to target the new experimental/next deploy.
The main change that should result from this is having the user profile
show the pp^next values from the new domain.
2022-12-27 17:20:40 +08:00
Bartłomiej Dach
cb2b0d4178
Remove redundant type specs
2022-12-26 23:12:53 +01:00
Berkan Diler
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
Dean Herbert
209d44746a
Merge pull request #21762 from bdach/score-stats-updates
...
Add solo statistics watcher component to deliver incremental global user statistics updates
2022-12-24 21:30:34 +08:00
Bartłomiej Dach
78c47a3695
Add callback to dictionary rather than overwrite
...
Attempting to overwrite will henceforth throw an exception.
2022-12-24 13:45:04 +01:00
Bartłomiej Dach
6c4ca387e0
Fix wrong handling of missing ruleset statistics
2022-12-24 13:44:11 +01:00
Bartłomiej Dach
3c26016b61
Ensure latest stats are cleared on successful profile fetch
2022-12-24 13:44:08 +01:00
Bartłomiej Dach
fd9110a61e
Fix solo statistics watcher firing requests for invalid user with id 1
...
Can happen during login flow (see `APIAccess.attemptConnect()`).
2022-12-24 13:44:05 +01:00
Bartłomiej Dach
d6e079a2b4
Ignore statistics update requests from third-party rulesets for now
2022-12-24 13:43:57 +01:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
Bartłomiej Dach
fa2d50fe31
Limit tracking unhandled scores to just the last one
2022-12-22 19:59:39 +01:00
Bartłomiej Dach
48dc2332fd
Refactor test to be easier to work with
2022-12-22 19:59:35 +01:00
Bartłomiej Dach
ac872fac9e
Implement solo statistics watcher
2022-12-22 19:59:07 +01:00
Bartłomiej Dach
f5b3988dd2
Add data structure for delivering statistics updates
2022-12-22 08:01:59 +01:00
Bartłomiej Dach
b03291330f
Add score processed callback to spectator client
2022-12-20 21:23:50 +01:00
Joseph Madamba
01f09529a8
Link beatmap set genre and language to listing filters
2022-12-19 22:54:33 -08:00
Dean Herbert
ba54551313
Merge branch 'master' into guard-url-protocols
2022-12-16 18:23:16 +09:00
Dean Herbert
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
Susko3
0f34d908c7
Use LocalisableString
s for date and time formats
2022-12-16 00:05:47 +01:00
Salman Ahmed
5fbd4ad3b4
Update usages of SupportsJIT
in line with framework changes
2022-12-16 00:22:11 +03:00
Salman Ahmed
660cc72f2a
Avoid configuring web proxies on iOS for now
2022-12-16 00:22:11 +03:00
cdwcgt
c9cffc8248
use resolved attribute
2022-12-15 21:01:38 +09:00
Bartłomiej Dach
849245b90c
Merge branch 'master' into beginplaying-score-token
2022-12-13 17:15:24 +01:00
Dan Balasescu
caa0b7c290
Move score token to BeginPlaying
2022-12-12 13:59:27 +09:00
cdwcgt
e02b8cb199
Group export methods into their respective managers
2022-12-11 18:30:24 +09:00
cdwcgt
a1fc33668c
Merge branch 'master' into export
2022-12-09 23:40:26 +09:00
Dan Balasescu
e9998f1690
Store maximum statistics to spectator state
2022-12-09 20:15:07 +09:00
Dan Balasescu
4a65f5c864
Add score token to spectator state
2022-12-09 19:09:51 +09:00
Dan Balasescu
3570fa8d93
Fix hub clients not reconnecting after connection error
2022-12-09 17:12:20 +09:00
Joseph Madamba
56e94e49a3
Display nominated ranked beatmaps in user profile
2022-12-06 23:36:11 -08:00
Dan Balasescu
8709b1f2ea
Immediately send ack request when joining new channels
2022-12-07 14:24:20 +09:00
Dan Balasescu
eea9bd3898
Merge pull request #21463 from peppy/fix-chat-system-message-ordering
...
Fix system messages appearing out of order in chat display
2022-12-02 17:39:20 +09:00
Dean Herbert
b1ce93e7bf
Add fallback stable sort to avoid any change of misordered local messages
2022-11-30 16:55:39 +09:00
Dean Herbert
9ab4664fcc
Merge branch 'master' into chat-profile-highlight-v2
2022-11-30 16:15:48 +09:00
Dean Herbert
b7f0310070
Merge pull request #21353 from peppy/no-initial-presence
...
Stop requesting messages as part of initial chat presence
2022-11-30 16:15:23 +09:00
Dean Herbert
6524914dbd
Merge branch 'master' into chat-profile-highlight-v2
2022-11-30 16:00:52 +09:00
Dean Herbert
2d8854cbac
Change message comparator to always use timestamp comparison if either message has a missing Id
2022-11-30 15:46:58 +09:00
Dean Herbert
9e34fe360a
Ensure all LocalMessage
s get a timestamp
2022-11-30 15:46:36 +09:00
Dean Herbert
c84f011bb7
Improve ToString
output of Message
2022-11-30 15:46:14 +09:00
Dean Herbert
8bf5d6884d
Add ruleset to now playing string
2022-11-30 14:47:16 +09:00
Dean Herbert
b453eecebe
Ensure empty pieces do not result in whitespace between elements
2022-11-30 14:43:21 +09:00
Dean Herbert
2df6ccf33e
Tidy up code
2022-11-30 14:31:54 +09:00
Dean Herbert
b5c514a8f0
Make incoming Channel
target non-nullable
2022-11-30 14:30:20 +09:00
Dean Herbert
69bf0df179
Merge branch 'master' into NowPlaying
2022-11-30 14:27:37 +09:00
Dean Herbert
61c702c02e
Add new IDependencyInjectionCandidate
interface to non-drawable cached classes
2022-11-29 14:45:26 +09:00
Dean Herbert
b5b79e09e4
Remove unnecessary CQ disable
2022-11-29 14:45:08 +09:00
Alden Wu
0cb7c94c21
Merge branch 'master' of https://github.com/ppy/osu into chat-profile-highlight-v2
2022-11-28 17:59:15 -08:00
Alden Wu
c2d8ffc225
Refactor ChatLine
username drawable creation
2022-11-28 17:50:12 -08:00
cdwcgt
e16f8a4410
Merge branch 'master' into NowPlaying
2022-11-27 08:48:49 +08:00
cdwcgt
02e3ebe1a0
DifficultyIncrease use +
and other all -
...
mod.Name to mod.Acronym
2022-11-27 09:44:09 +09:00
cdwcgt
653875bbb4
only post mod when ingame
2022-11-27 09:41:41 +09:00
cdwcgt
8ecb4aa30b
better method name
2022-11-27 09:41:08 +09:00
Bartłomiej Dach
c42720acd4
Temporarily disable "partial class with one part" inspection
2022-11-26 18:05:08 +01:00
Dan Balasescu
7bc8908ca9
Partial everything
2022-11-27 00:00:27 +09:00
cdwcgt
13f86f3e53
Merge branch 'master' into NowPlaying
2022-11-25 23:22:52 +09:00
cdwcgt
a2ea7a3f58
show selected mod and use ILocalisedBindableString in np
2022-11-25 23:20:44 +09:00
Bartłomiej Dach
2f67199b1c
Merge branch 'master' into fix-missing-day-separator
2022-11-23 18:40:44 +01:00
Dean Herbert
172e798847
Merge pull request #21228 from Terochi/recent-messages-implementation
...
Add ability to view chat send history in input box
2022-11-23 14:58:42 +09:00
Bartłomiej Dach
76bb529cfa
Add test for local echo adding day separator
2022-11-22 16:46:21 +01:00
cdwcgt
c509c5be40
impossible null
2022-11-21 19:45:30 +09:00
cdwcgt
e37d30a373
refactor based on reviews
...
removed LegacyExportManager
Separated the method of CreateZip method and the default export method
2022-11-21 18:58:01 +09:00
Dean Herbert
462a213ffc
Add TODO note about handling initial silences
2022-11-21 15:23:04 +09:00
Dean Herbert
efd73ea9da
Rename method to suit better
2022-11-21 15:22:57 +09:00
Dean Herbert
5c640d15a0
Stop requesting messages as part of initial chat presence
2022-11-21 15:17:54 +09:00
cdwcgt
4e457871f3
impossible null and remove storage
2022-11-19 01:03:22 +09:00
cdwcgt
4b29941b47
add LegacyExportManager
2022-11-18 20:00:00 +09:00
Dean Herbert
d17c091d63
Move constant to a better location
2022-11-18 15:47:31 +09:00
Dean Herbert
bab5be8dee
Merge pull request #21290 from smoogipoo/multiplayer-test-debug
...
Add some debugging for multiplayer test failures
2022-11-18 15:39:33 +09:00
Dan Balasescu
219d049edf
Merge pull request #21140 from maromalo/long-standard
...
Standardise scores to `long` type
2022-11-18 15:26:33 +09:00
Dan Balasescu
cc434c9113
Merge pull request #21288 from peppy/fix-no-network-slow-gameplay-load
...
Fix entering gameplay while network connection is in a bad state taking too long
2022-11-18 15:24:31 +09:00
Dan Balasescu
b0faa009c1
Add some debugging for multiplayer test failures
2022-11-18 14:52:11 +09:00
Dan Balasescu
57b8495c7a
Merge branch 'master' into long-standard
2022-11-18 14:24:04 +09:00
Dean Herbert
964ceddf83
Fix API queue only being flushed once while in a failing state
2022-11-18 14:21:37 +09:00
Dean Herbert
a5d22195f2
Fix potential incorrect connection state resulting in null reference
2022-11-18 13:45:46 +09:00
Terochi
3d4962e181
Added functioning tests.
2022-11-17 13:07:06 +01:00
Terochi
6d83af01e2
Moved and renamed MessageHistoryTextBox.cs for better fit.
2022-11-17 13:07:06 +01:00
Dragon
b9590320b7
Moved implementation to ChatRecentTextBox.cs and derived ChatTextBox.cs and StandAloneChatDisplay.cs from it.
2022-11-17 13:07:06 +01:00
cdwcgt
e1a21e0cf9
create a task to export to avoid block main thread
...
Code quality and remove some #nullable disable
2022-11-17 01:08:06 +09:00
Dean Herbert
f343ba6111
Add xmldoc for chat ack request
2022-11-13 00:10:06 +09:00
Dean Herbert
22d8a1160e
Fix last silence ID being updated too often, causing most silences to be missed
2022-11-13 00:10:06 +09:00
Dean Herbert
143c946128
Simplify ack re-perform flow
2022-11-12 23:02:37 +09:00
Dean Herbert
bfb939cbd0
Expand on why call needs to be made every 10 minutes
2022-11-12 22:24:27 +09:00
Dean Herbert
6a3665a6fd
Remove excess logging on WebSocketNotificaitonsClient
2022-11-12 22:09:27 +09:00
maromalo
1911120afe
Merge branch 'master' into long-standard
2022-11-12 09:52:11 -03:00
Dean Herbert
ace4099079
Update ack code after incorrect merge
2022-11-12 21:41:10 +09:00
Dean Herbert
dde09d409b
Merge branch 'master' into chat-silences
2022-11-12 21:00:56 +09:00
Dean Herbert
19876ca0fb
Merge branch 'master' into websocket-chat-2
2022-11-11 23:53:42 +09:00
Dan Balasescu
6ac19615fa
Fix test failure
2022-11-11 14:55:41 +09:00
Dan Balasescu
fdca3c2d1c
Rename method for consistency
2022-11-07 14:35:42 +09:00
Dan Balasescu
67e99b5344
Lookup channels before calling HandleJoinedChannel()
2022-11-07 14:34:55 +09:00
Joseph Madamba
b977fc8181
Use autosize instead of max width on fixed width timestamps
2022-11-06 19:28:01 -08:00
Dan Balasescu
f931bdc5ff
Fix channel lookup not considering missing ids
2022-11-07 12:25:23 +09:00
Dan Balasescu
cd8402df72
Print event type to logs
2022-11-07 12:11:50 +09:00
Dan Balasescu
cf03001c83
Better handling for joining channels with only ID
2022-11-07 11:52:07 +09:00
Dan Balasescu
e3adf5a985
Handle channel parts
2022-11-07 11:36:55 +09:00
maromalo
b7ef9b176d
Make score type consistent
2022-11-06 19:59:27 -03:00
Dan Balasescu
d426977f03
Handle channel joins
2022-11-04 20:11:42 +09:00
Dan Balasescu
f12ada9d92
Fix chat connecting too early
2022-11-04 19:36:24 +09:00
Dan Balasescu
1d2818dc70
Reschedule ack request on completion
2022-11-04 19:02:26 +09:00
Dan Balasescu
66bbe34116
Move polling clients to osu.Game.Tests namespace
2022-11-04 18:52:57 +09:00
Dan Balasescu
fa18b5f701
Construct notifications client inside ChannelManager
2022-11-04 18:51:00 +09:00
Dan Balasescu
72745656e7
Remove StartChat()/chat enablement
2022-11-04 18:48:34 +09:00
Dan Balasescu
58396d49dc
Fix handling of local echo deduplication
2022-11-04 18:44:22 +09:00
Salman Ahmed
ac8fb4f9b2
Fix beatmap cards still potentially showing twice in listing
2022-11-04 03:23:34 +03:00
Dean Herbert
e6c45b8ab5
Merge branch 'master' into comment-report
2022-11-03 15:35:42 +09:00
Dean Herbert
4f8e912f06
Fix APINotification
parsing failing
2022-11-02 17:53:19 +09:00
Dan Balasescu
063a8bdf9e
Remove messages from silenced users
2022-11-02 17:13:14 +09:00
Dan Balasescu
f688ed12d0
Add test for removing chat messages
2022-11-02 17:00:47 +09:00
Dean Herbert
2b04e852be
Merge branch 'master' into websocket-chat-2
2022-11-02 14:56:13 +09:00
Dan Balasescu
30800c9252
Add/adjust xmldocs
2022-11-02 13:16:34 +09:00
Dan Balasescu
3816152c9d
Merge branch 'socket-client' into websocket-chat-2
2022-11-02 11:49:57 +09:00
Dan Balasescu
e59c8b7d24
Use IDisposable instead
2022-11-02 11:49:04 +09:00
Dan Balasescu
c9108ce41b
Rename StartAsync -> ConnectAsync
2022-11-02 11:44:16 +09:00
Dan Balasescu
46d1713e28
Rename Socket* -> PersistentEndpoint*
2022-11-02 11:43:22 +09:00
Dan Balasescu
8ac2075c61
Fix possible threading issues
...
Not really sure of the best way to handle this in general. It could be
argued that this should be a `Component` type and the bindable bound in
`LoadComplete()`...
2022-11-02 10:04:25 +09:00
Dan Balasescu
5b25ef5f2f
Construct notifications client via IAPIProvider
2022-11-01 21:34:34 +09:00
Dean Herbert
17f482bfc3
Merge branch 'master' into websocket-chat-2
2022-10-31 16:11:58 +09:00
Dean Herbert
8a37649097
Merge branch 'master' into socket-client
2022-10-31 16:00:14 +09:00
Dan Balasescu
d3173ab1bd
Remove weird cast
2022-10-28 18:54:34 +09:00
Dan Balasescu
ab78cde2d4
Fix crossthread mutations
2022-10-28 18:37:43 +09:00
Dan Balasescu
169bcc2654
Use polling connector in tests
2022-10-28 18:08:08 +09:00
Dan Balasescu
527b1d9db1
Generalise + add polling-style for usage in tests
2022-10-28 17:53:28 +09:00
Dan Balasescu
efa8256911
Use more verbatim strings
2022-10-28 16:32:17 +09:00
Dan Balasescu
2f731f86ba
Adjust ChannelManager to use notifications client
2022-10-28 16:28:58 +09:00
Dan Balasescu
33bb1212d1
Add notifications websocket + chat implementation
2022-10-28 16:28:58 +09:00
Dan Balasescu
b3219526a5
Populate beatmap ruleset in SoloScoreInfo.ToScoreInfo()
2022-10-28 14:42:45 +09:00
Dean Herbert
dcff8a193c
Use better method of forcing serialisation
2022-10-28 01:26:10 +09:00
Dean Herbert
3c4ba6e9fc
Fix SoloScoreInfo.Rank
not being serialised if rank is D
2022-10-27 19:02:32 +09:00
Dan Balasescu
6cca3a3dc8
Add new API requests
2022-10-27 14:55:24 +09:00
Dan Balasescu
4127aaa988
Extract general elements from HubClientConnector into SocketClientConnector
2022-10-27 14:37:10 +09:00
Dean Herbert
af84f708b7
Avoid serialising some more properties of SoloScoreInfo
unless present
2022-10-21 19:30:35 +09:00
ansel
e1785f73a2
Make report's comment not optional
2022-10-16 20:14:05 +03:00
Feodor0090
fb046e31c1
Merge branch 'master' into comment-report
2022-10-14 16:57:23 +03:00
ansel
7251d41deb
Add request class
2022-10-14 16:15:28 +03:00
Dan Balasescu
525f98c158
Fix max combo missing from playlists results screen
2022-10-14 18:01:54 +09:00
Dean Herbert
47fe4eb0bd
Merge branch 'master' into comment-deletion
2022-10-12 15:48:26 +09:00
Dean Herbert
74db42394a
Silence unobserved exceptions in BeginPlayingInternal
...
Closes #20526 .
2022-10-05 14:31:13 +09:00
ansel
7645fe20f5
Merge branch 'master' into comment-deletion
2022-09-28 17:55:22 +03:00
ansel
58d9509ce6
Apply NRT to Comment
2022-09-27 22:45:05 +03:00
ansel
5282c8b8c6
Fix CQ
2022-09-27 19:40:18 +03:00
ansel
5da7cb5397
Make comment ID public for test
2022-09-27 19:02:18 +03:00
ansel
1721b8e47a
Add request class
2022-09-27 16:25:26 +03:00
Dan Balasescu
1811647e34
Make room requests handler handle GetBeatmapRequest
2022-09-27 20:30:41 +09:00
Dean Herbert
de6709d12c
Fix rank_history
serialisation order dependence
...
```csharp
[network] 2022-09-26 18:18:39 [verbose]: Processing response from https://dev.ppy.sh/api/v2/me/ failed with Newtonsoft.Json.JsonSerializationException: Error setting value to 'rankHistory' on 'osu.Game.Online.API.Requests.Responses.APIUser'.
[network] 2022-09-26 18:18:39 [verbose]: ---> System.NullReferenceException: Object reference not set to an instance of an object.
[network] 2022-09-26 18:18:39 [verbose]: at osu.Game.Online.API.Requests.Responses.APIUser.set_rankHistory(APIRankHistory
value) in /tmp/osu/osu.Game/Online/API/Requests/Responses/APIUser.cs:line 231
```
2022-09-27 12:46:17 +09:00
Dean Herbert
a1297af441
Apply NRT to base Leaderboard
classes
2022-09-26 16:12:47 +09:00
Dean Herbert
32d56fe3a9
Use request cancellation and IsDisposed
guard instead of more Schedule
2022-09-26 16:02:33 +09:00
Dean Herbert
37e2579244
Fix reversed checks
2022-09-22 20:35:26 +09:00
Dan Balasescu
7508592789
Clean up some checks
2022-09-22 19:56:24 +09:00
Dean Herbert
29c4d06d36
Merge branch 'fix-gameplay-leaderboard-layout' into gameplay-leaderboards
2022-09-21 14:58:58 +09:00
Dean Herbert
8837618ab1
Merge pull request #20342 from smoogipoo/server-shutdown-countdown
...
Implement server shutdown countdown + notification
2022-09-20 20:51:16 +09:00
Dan Balasescu
d777afc454
Remove countdown at under 5 seconds
2022-09-20 19:55:44 +09:00
Dean Herbert
68c040175a
Ensure Leaderboard.Scores
is updated immediately via request flow
2022-09-20 17:02:57 +09:00
Dan Balasescu
b84f716c22
Display seconds when hours>0 to be more lively
2022-09-20 16:02:31 +09:00
Dan Balasescu
ef29987f36
Remove FinalNotification
2022-09-20 15:54:18 +09:00
Dan Balasescu
700000b583
Use custom notification with timer
2022-09-20 15:54:18 +09:00
Salman Ahmed
9a10ecb378
Clarify purpose of APIUserScoreAggregate
2022-09-17 19:37:30 +03:00
Dean Herbert
a1d830e47f
Fix formatting
2022-09-17 22:22:56 +09:00
vegguid
0bfe967452
moved BindValueChanged to LoadComplete
2022-09-17 12:58:23 +02:00
vegguid
288cc7b201
Fixed Leaderboard tooltip not following time format setting
2022-09-16 21:36:17 +02:00
Dan Balasescu
92b2417d4c
Post notification when room joined
2022-09-16 21:10:11 +09:00
Dan Balasescu
433bb5ae24
Add ServerShuttingDownCountdown
2022-09-16 19:56:52 +09:00
Dean Herbert
4c4fdfd153
Provide scores directly to Player
instance rather than relying on DI
2022-09-16 18:15:17 +09:00
Dean Herbert
0227eddda1
Merge branch 'master' into gameplay-leaderboards
2022-09-16 15:44:58 +09:00
Dean Herbert
21ac3fd88b
Catch any unobserved exceptions during beatmap metadata harvesting
...
The process will retry when a connection is successful, so this doesn't
need to be as loud as it was.
Addresses https://github.com/ppy/osu/discussions/20331 .
2022-09-16 14:00:06 +09:00
Dean Herbert
581a4d2d6d
Use APIBeatmap
for realm migration requiring ShortName
mapping
2022-09-15 16:58:58 +09:00
Dean Herbert
6d167070f8
Add back DI leaderboard retrieval via bindable pathway
2022-09-13 18:45:11 +09:00
Dean Herbert
cb6d02ec3a
Merge pull request #19066 from andy840119/remove-the-nullable-disable-in-the-ruleset
...
Remove the nullable disable annotation in the ruleset class
2022-09-12 19:07:23 +09:00
Dan Balasescu
31225066a1
Merge pull request #19308 from frenzibyte/top-rank-badge-order
...
Fix best rank badge not handling legacy scores properly
2022-09-12 16:20:21 +09:00
Dan Balasescu
1eb2c74e57
Fix countdown serialisation
2022-09-11 18:50:51 +09:00
andy840119
1398a7e11e
Property should accept the nullable state.
2022-09-10 10:46:40 +08:00
Salman Ahmed
dd10a06e3d
Merge branch 'master' into top-rank-badge-order
2022-09-09 19:38:44 +03:00
Dan Balasescu
ba2ef424d4
Turn score ids into ulong
s
2022-09-09 11:46:06 +09:00
Dan Balasescu
4fc03998a1
Merge pull request #20189 from peppy/fix-playlist-item-download-button-visibility
...
Fix playlist items showing download button briefly during initial display
2022-09-08 19:47:35 +09:00
Dean Herbert
13d9b2188b
Merge pull request #20145 from smoogipoo/multiple-countdowns
...
Implement support for multiple active countdowns in multiplayer
2022-09-08 19:15:30 +09:00
Dean Herbert
0de220c45c
Change IsExclusive
default value to true
2022-09-08 17:54:29 +09:00
Dean Herbert
ed81297611
Fix playlist items showing download button briefly during initial local presence checks
2022-09-08 17:10:45 +09:00
Dan Balasescu
b2f30fbf8c
Add countdown exclusivity
2022-09-05 20:13:23 +09:00
Dan Balasescu
2923c10cd8
Rewrite rooms to store multiple active countdowns
...
Update test to the new structure
2022-09-05 19:03:26 +09:00
Dan Balasescu
b10026993a
Don't serialise has_replay
2022-09-02 16:41:53 +09:00
Dan Balasescu
a277431266
Add has_replay and legacy_score_id to SoloScoreInfo
2022-09-01 21:10:38 +09:00
Dan Balasescu
d70208fcf1
Default to off
2022-09-01 14:14:22 +09:00
Dan Balasescu
b5ec7d06dd
Add auto-skip setting
...
Default to auto skip
2022-08-31 20:24:06 +09:00
Dean Herbert
09aa3e065d
Move colouring to full icon content rather than background
2022-08-30 18:06:48 +09:00
Dan Balasescu
799c015bff
Add LegacyTotalScore to SoloScoreInfo
2022-08-30 15:50:19 +09:00
Dean Herbert
b9d9bf3004
Merge pull request #19938 from frenzibyte/fix-multi-spectator-results-screen
...
Fix multi-spectator potentially getting stuck for passed players
2022-08-26 21:53:17 +09:00
Salman Ahmed
6840e906e7
watchedUsers
-> watchedUsersRefCounts
2022-08-25 09:50:52 +03:00
Salman Ahmed
146cc62f00
Merge branch 'master' into maximum-statistics-2
2022-08-25 08:18:44 +03:00
Dean Herbert
6a0d23cf96
Nest dialog class and apply NRT
2022-08-24 17:39:22 +09:00
Dan Balasescu
f70af779a4
Add maximum statistics to ScoreInfo/SoloScoreInfo
2022-08-24 17:28:41 +09:00
Andrew Hong
ec5fd7ac1d
Remove possible 'System.NullReferenceException'
2022-08-24 03:42:16 -04:00
Andrew Hong
b24513038c
Add popupdialog button to copy url
2022-08-24 03:35:19 -04:00
Salman Ahmed
7e5086c8d7
Fix spectator client not handling multiple watch calls properly
2022-08-24 10:02:21 +03:00
Dean Herbert
058d67f8e8
Merge pull request #19695 from naoei/ruleset-localization
...
Change most ruleset-accessible string types to Localisable strings
2022-08-22 16:13:23 +09:00
Nao
189a407cb1
Merge branch 'master' into ruleset-localization
2022-08-20 21:39:10 -04:00
Dean Herbert
a1e849c4db
Ensure that DummyAPIAccess
runs all queued tasks on disposal
2022-08-20 16:22:35 +09:00
Dean Herbert
c3c44c19cd
Use CompositeComponent
in various locations
2022-08-19 20:43:15 +09:00
Nao
c940f5abcb
Merge branch 'master' into ruleset-localization
2022-08-14 15:17:44 -04:00
naoei
45e9eda9e7
Localise hit result name
2022-08-14 14:57:02 -04:00
Dean Herbert
865d63f768
Refactor APIAccess
main loop to read better
2022-08-11 15:43:39 +09:00
Dean Herbert
47196b19a5
Stop setting Online
state in handleRequest
...
This is already handled amicably by the `Failing` -> `Connecting` flow.
Having this set in `handleRequest` throws things off, potentially
leading to the `Online` state change before the user has been populated.
2022-08-11 14:36:30 +09:00
Dean Herbert
7ec67c28b9
Set Online
state sooner in connection process
...
This isn't really required as such, but feels more correct. There was no
reason for it to wait for the friend population to complete before
deeming things to be "online".
2022-08-11 14:35:56 +09:00
Dean Herbert
e5b534bb26
Add thread safety to APIAccess.LocalUser
2022-08-11 12:45:26 +09:00
Dan Balasescu
888c4c8e08
Merge pull request #19662 from peppy/startup-correct-username
...
Use a placeholder user with the correct username during login process
2022-08-10 13:09:37 +09:00
Dan Balasescu
4107049b08
Fix host room status showing ended after playing
2022-08-09 21:43:10 +09:00
Dean Herbert
4a312d5658
Use a placeholder user with the correct username during connecting process
...
This allows for various components (like gameplay) to obtain a correct
username even if the API is not yet in a connected state. The most
common case is during startup, where a connection may not have been
established yet, but the user's username was restored from their config
file.
By making the change, local scores will now have the correct username
(although avatar etc. will be missing, which I think it fine) even if
the API is not yet connected. Previously, they would show up as "Guest".
2022-08-09 17:13:09 +09:00
Dean Herbert
f9d0cc3c4e
Change APIAccess.IsLoggedIn
to also return true
when connecting
...
All usages of this are made with the intention of showing data when an
api is going to eventually become available. In the case of a login
failure, components are also able to display a correct state.
With this change, it makes online components display in a more correct
state during startup or initial logging in phase.
2022-08-09 17:11:44 +09:00
Dean Herbert
0537c471dc
Merge pull request #19582 from smoogipoo/apimod-json-cleanup
...
Don't serialise empty mod settings
2022-08-08 11:49:08 +09:00
Dan Balasescu
0de00e9b3f
Don't serialise empty mod settings
2022-08-05 14:00:53 +09:00
Dan Balasescu
2d9da07eb6
Trim zero values from hit statistics
2022-08-04 19:27:50 +09:00
Dan Balasescu
8ff7770a71
Omit irrelevant data from SoloScoreInfo serialisation
2022-08-04 19:11:39 +09:00
Dean Herbert
fd09155990
Revert blocking call when sending spectator frames
...
There are a lot of these requests, and we don't really care about
waiting on them to finish sending. This may have negatively affected
send performance for users with very high latency.
Reverts part of 0533249d11
.
Addresses concerns in https://github.com/ppy/osu/discussions/19429#discussioncomment-3276400 .
2022-07-29 12:24:54 +09:00
Salman Ahmed
1b6ebcfd87
Remove SubmittableScore
and replace with SoloScoreInfo
extension method
2022-07-25 13:43:43 +03:00
Salman Ahmed
d04df19c7e
Remove APIScore
and replace its final usage
2022-07-25 13:13:46 +03:00
Salman Ahmed
e0266b0d81
Reword comment slightly
2022-07-25 04:39:14 +03:00
Salman Ahmed
f5a5887669
Fix players potentially not displaying in spectator after restart
2022-07-25 04:21:53 +03:00
Salman Ahmed
727fe76b60
Fix TopLocalRank
hacking around presence to hide on null rank
...
Fixed this here because that blocks `Schedule` from running, and I don't
want to add another override to the `IsPresent` flag.
2022-07-23 09:22:22 +03:00
Dean Herbert
62133fa069
Merge pull request #19246 from frenzibyte/fix-wiki-navigation
...
Fix wiki overlay not handling path redirection properly
2022-07-20 20:08:11 +09:00
Dan Balasescu
f9c02c34b6
Merge branch 'master' into beatmap-update-online-flow
2022-07-20 15:15:51 +09:00
Salman Ahmed
e7f35701db
Add failing test case
2022-07-20 09:06:11 +03:00
Dean Herbert
07874efa7f
Set last online update to actual value provided by data source
2022-07-19 19:39:51 +09:00
Dean Herbert
cd39f444ef
Expose event from OnlineMetadataClient
rather than calling BeatmapUpdater
directly
2022-07-19 17:57:01 +09:00
Dean Herbert
12e5bc3f3d
Fix BeginPlayingInternal
firing actual errors when beatmap not available online
2022-07-19 17:14:57 +09:00
Dean Herbert
2716bd41d9
Use more correct json casing in APIScoresCollection
...
osu-web API is already returning both of these casings for backwards
compatibility, but the former will be removed at some point.
e540276721/app/Http/Controllers/BeatmapsController.php (L314-L315)
2022-07-19 15:34:17 +09:00
Dan Balasescu
c07f78409e
Merge pull request #19189 from peppy/peform-actions-after-reconnect
...
Fix creating multiplayer game during server migration not joining new room correctly
2022-07-19 14:46:29 +09:00
Bartłomiej Dach
6f37487528
Replace calls to defective Humanizer methods with correct version
2022-07-18 22:34:58 +02:00
Salman Ahmed
2befcfedbb
Merge branch 'master' into fix-multiplayer-participant-panel-null-ruleset
2022-07-18 12:24:47 +03:00
Salman Ahmed
b5c7d07ba8
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 10:27:33 +03:00
Dean Herbert
933a41554b
Merge pull request #19187 from peppy/fix-reconnect-new-spectator-session
...
Fix spectator client not correctly reconnecting after shutdown
2022-07-18 16:25:04 +09:00
Dean Herbert
a7f19cc796
Merge pull request #19137 from frenzibyte/country-enum
...
Replace `Country` class with enumeration
2022-07-18 16:12:24 +09:00
Salman Ahmed
045602b27d
Merge branch 'master' into fix-reconnect-new-spectator-session
2022-07-18 09:55:19 +03:00
Salman Ahmed
84c1c26a7f
Merge branch 'master' into fix-user-profile-overlay
2022-07-18 09:45:25 +03:00