464f251c0c
Merge branch 'master' into beatmap-set-link-genre-language
2023-01-06 17:09:06 +08:00
96e81e7f41
Switch on NRT and add IEquatable
to GetScoresRequest
2023-01-04 01:41:21 +08:00
2698d58c46
Merge branch 'master' into remember-chat-textbox-per-channel
2023-01-01 17:29:38 +01:00
70dbb8edac
Fix stand alone chat display textbox not binding to local channel
2022-12-29 01:37:37 -08:00
c326745f96
Save / sync chat text box messages per channel
2022-12-28 16:09:40 -08:00
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
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
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
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
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
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
cb2b0d4178
Remove redundant type specs
2022-12-26 23:12:53 +01:00
c7ca4bbba5
Use generic Enum methods
2022-12-26 20:36:39 +01:00
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
78c47a3695
Add callback to dictionary rather than overwrite
...
Attempting to overwrite will henceforth throw an exception.
2022-12-24 13:45:04 +01:00
6c4ca387e0
Fix wrong handling of missing ruleset statistics
2022-12-24 13:44:11 +01:00
3c26016b61
Ensure latest stats are cleared on successful profile fetch
2022-12-24 13:44:08 +01:00
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
d6e079a2b4
Ignore statistics update requests from third-party rulesets for now
2022-12-24 13:43:57 +01:00
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +01:00
fa2d50fe31
Limit tracking unhandled scores to just the last one
2022-12-22 19:59:39 +01:00
48dc2332fd
Refactor test to be easier to work with
2022-12-22 19:59:35 +01:00
ac872fac9e
Implement solo statistics watcher
2022-12-22 19:59:07 +01:00
f5b3988dd2
Add data structure for delivering statistics updates
2022-12-22 08:01:59 +01:00
b03291330f
Add score processed callback to spectator client
2022-12-20 21:23:50 +01:00
01f09529a8
Link beatmap set genre and language to listing filters
2022-12-19 22:54:33 -08:00
ba54551313
Merge branch 'master' into guard-url-protocols
2022-12-16 18:23:16 +09:00
27c497145f
Fix the MOTHERLOAD of undetected issues that are now visible thanks to net6.0
2022-12-16 18:16:26 +09:00
0f34d908c7
Use LocalisableString
s for date and time formats
2022-12-16 00:05:47 +01:00
5fbd4ad3b4
Update usages of SupportsJIT
in line with framework changes
2022-12-16 00:22:11 +03:00
660cc72f2a
Avoid configuring web proxies on iOS for now
2022-12-16 00:22:11 +03:00
849245b90c
Merge branch 'master' into beginplaying-score-token
2022-12-13 17:15:24 +01:00
caa0b7c290
Move score token to BeginPlaying
2022-12-12 13:59:27 +09:00
e9998f1690
Store maximum statistics to spectator state
2022-12-09 20:15:07 +09:00
4a65f5c864
Add score token to spectator state
2022-12-09 19:09:51 +09:00
3570fa8d93
Fix hub clients not reconnecting after connection error
2022-12-09 17:12:20 +09:00
56e94e49a3
Display nominated ranked beatmaps in user profile
2022-12-06 23:36:11 -08:00
8709b1f2ea
Immediately send ack request when joining new channels
2022-12-07 14:24:20 +09:00
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
b1ce93e7bf
Add fallback stable sort to avoid any change of misordered local messages
2022-11-30 16:55:39 +09:00
9ab4664fcc
Merge branch 'master' into chat-profile-highlight-v2
2022-11-30 16:15:48 +09:00
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
6524914dbd
Merge branch 'master' into chat-profile-highlight-v2
2022-11-30 16:00:52 +09:00
2d8854cbac
Change message comparator to always use timestamp comparison if either message has a missing Id
2022-11-30 15:46:58 +09:00
9e34fe360a
Ensure all LocalMessage
s get a timestamp
2022-11-30 15:46:36 +09:00
c84f011bb7
Improve ToString
output of Message
2022-11-30 15:46:14 +09:00
8bf5d6884d
Add ruleset to now playing string
2022-11-30 14:47:16 +09:00
b453eecebe
Ensure empty pieces do not result in whitespace between elements
2022-11-30 14:43:21 +09:00
2df6ccf33e
Tidy up code
2022-11-30 14:31:54 +09:00
b5c514a8f0
Make incoming Channel
target non-nullable
2022-11-30 14:30:20 +09:00