Commit Graph

57646 Commits

Author SHA1 Message Date
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
Bartłomiej Dach
27afeb9e30
Add test coverage of merging ignored score updates 2022-12-22 19:59:41 +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
722cf48614
Add test coverage for statistics watcher 2022-12-22 19:59:10 +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
Dean Herbert
11321f1a41
Merge pull request #21738 from bdach/spectator-user-score-processed
Add score processed callback to spectator client
2022-12-22 13:55:43 +08:00
Dan Balasescu
198567aa95
Merge pull request #21753 from bdach/submission-early-exit-ordering-guarantees
Ensure score submission completion before notifying spectator server when exiting play early
2022-12-22 14:48:43 +09:00
Dan Balasescu
36b6163475
Merge pull request #21751 from bdach/fix-mania-hold-note-crash
Fix crashes on quick-retrying when holding note in mania
2022-12-22 14:25:43 +09:00
Bartłomiej Dach
6948035a3c
Ensure score submission attempt completion before notifying spectator server when exiting play early
When a `SubmittingPlayer` gameplay session ends with the successful
completion of a beatmap, `PrepareScoreForResultsAsync()` ensures that
the score submission request is sent to and responded to by osu-web
before calling `ISpectatorClient.EndPlaying()`.

While previously this was mostly an implementation detail, this becomes
important when considering that more and more server-side flows (replay
upload, notifying about score processing completion) hook into
`EndPlaying()`, and assume that by the point that message arrives at
osu-spectator-server, the score has already been submitted and has been
assigned a score ID that corresponds to the score submission token.

As it turns out, in the early-exit path (when the user exits the play
midway through, retries, or just fails), the same ordering guarantees
were not provided. The score's submission ran concurrently to the
spectator client `EndPlaying()` call, therefore creating a network
race. osu-server-spectator components that implciitly relied on the
ordering provided by the happy path, could therefore fail to unmap the
score submission token to a score ID.

Note that as written, the osu-server-spectator replay upload flow is
not really affected by this, as it self-corrects by essentially polling
the database and trying to unmap the score submission token to a score
ID for up to 30 seconds. However, this change would have the benefit of
reducing the polls required in such cases to just one DB retrieval.
2022-12-21 22:23:26 +01:00
Bartłomiej Dach
0a49c8c5d6
Add missing unsubscriptions in multiple mania components 2022-12-21 20:22:40 +01:00
Joseph Madamba
b09c00d71b
Merge pull request #21746 from peppy/fix-language-update
Closes https://github.com/ppy/osu/issues/21744
2022-12-21 11:06:52 -08:00
Bartłomiej Dach
3ec31a5f51
Fix language selector in first run dialog not updating after changing language in settings 2022-12-21 19:30:21 +01:00
Dean Herbert
19f66c806e Fix language dropdown in settings not updating after changing language in first run dialog
Closes #21744.
2022-12-21 16:31:55 +08:00
Bartłomiej Dach
b03291330f
Add score processed callback to spectator client 2022-12-20 21:23:50 +01:00
Bartłomiej Dach
d81a724dd7
Merge pull request #21735 from nekodex/argon-pro-skin
Add argon "pro" skin
2022-12-20 20:25:22 +01:00
Bartłomiej Dach
378486cbe0
Merge branch 'master' into argon-pro-skin 2022-12-20 19:34:56 +01:00
Bartłomiej Dach
006ed6dae4
Merge pull request #21730 from peppy/ui-scale-only-show-one-screen
Only show song select for now at ui scale adjust first run screen
2022-12-20 19:12:01 +01:00
Bartłomiej Dach
bf074adb13
Remove unused using directive 2022-12-20 18:24:26 +01:00
Bartłomiej Dach
8ead606065
Merge branch 'master' into ui-scale-only-show-one-screen 2022-12-20 18:23:37 +01:00
Bartłomiej Dach
a0e9004655
Merge pull request #21731 from peppy/fix-stuck-file-select-overlay
Fix file select popup getting stuck when switching first run screens while selecting
2022-12-20 18:17:28 +01:00
Dean Herbert
2c402d4740 Update resources 2022-12-21 01:24:41 +09:00
Jamie Taylor
f7c854f1b0
Change asset folder 2022-12-20 21:18:51 +09:00
Dean Herbert
2f0c772dcb
Add argon pro skin 2022-12-20 21:18:51 +09:00
wiskerz76
439b8ac56a Fix file select popup getting stuck when switching first run screens while selecting
Closes #21663
Supersedes #21724
2022-12-20 17:59:23 +09:00
Dean Herbert
c119d41a2d Only show song select for now at ui scale adjust first run screen
Having both was a bit too much. Still not happy with this but it's a bit
less sensory overload.

I think while it's cool being able to show nested screens like this, it
needs more thought to actually be a good experience.
2022-12-20 17:52:56 +09:00
Dean Herbert
ca8d2bec9d
Merge pull request #21723 from bdach/wiki-heading-id-attributes
Add support for block attributes in wiki overlay
2022-12-20 15:16:08 +09:00
Bartłomiej Dach
64a45aa0e0
Merge branch 'master' into wiki-heading-id-attributes 2022-12-20 06:34:47 +01:00
Dean Herbert
66364afe04
Merge pull request #21722 from bdach/markdown-footnote-support
Add Markdown footnote support to wiki overlay
2022-12-20 14:21:03 +09:00
Dean Herbert
4a9b58adda
Merge branch 'master' into markdown-footnote-support 2022-12-20 13:48:35 +09:00
Dean Herbert
f117f76b2f
Merge pull request #21718 from bdach/fix-welcome-screen-buttons
Fix welcome screen language buttons not working
2022-12-20 13:16:19 +09:00
Dean Herbert
2ed1a95975
Merge pull request #21716 from Susko3/remove-Linker.xml 2022-12-20 10:20:35 +09:00
Bartłomiej Dach
30b9f5d92e
Add test coverage for correct operation of flag extension 2022-12-19 21:32:41 +01:00
Bartłomiej Dach
7c282d9def
Enable generic attribute support for wiki markdown containers 2022-12-19 21:32:38 +01:00
Bartłomiej Dach
12aa2e96db
Add test case covering failure 2022-12-19 21:29:10 +01:00
Bartłomiej Dach
db1380a346
Refactor markdown extension management 2022-12-19 20:19:51 +01:00
Bartłomiej Dach
a88812861e
Implement bidirectional footnote link navigation 2022-12-19 19:34:47 +01:00
Bartłomiej Dach
5fb2a83f12
Add failing test case for footnote link navigation 2022-12-19 19:34:45 +01:00
Bartłomiej Dach
3c1a46605e
Set up test for two-way navigation testing 2022-12-19 19:34:42 +01:00
Bartłomiej Dach
73a4310935
Add styling for footnote groups 2022-12-19 19:34:40 +01:00
Bartłomiej Dach
112613c2f0
Add styling for footnote links 2022-12-19 19:28:01 +01:00
Bartłomiej Dach
6e55f2f779
Add test for markdown footnotes 2022-12-19 19:17:05 +01:00
Bartłomiej Dach
0dce899634
Throw on OsuClickableContainer.ClearInternal() invocations
As they may cause critical failure due to getting rid of the `Content`.
2022-12-19 18:25:45 +01:00
Bartłomiej Dach
186ccc64fd
Fix welcome screen language buttons not working 2022-12-19 18:19:26 +01:00
Susko3
36c620287b Remove no longer needed Linker.xml configurations for mobile projects 2022-12-19 18:11:05 +01:00
Bartłomiej Dach
b42accb763
Merge pull request #21711 from peppy/update-framework-standardise
Update framework (again) and remove some no-longer required workarounds
2022-12-19 18:03:00 +01:00
Salman Ahmed
d47a8b2e26 Remove unnecessary discard 2022-12-19 18:42:51 +03:00
Salman Ahmed
2249c97a6f Pin certain system package versions to avoid downgrade errors 2022-12-19 18:27:32 +03:00