1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-08 01:27:46 +08:00
Commit Graph

36611 Commits

Author SHA1 Message Date
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
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
378486cbe0
Merge branch 'master' into argon-pro-skin 2022-12-20 19:34:56 +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
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
Bartłomiej Dach
64a45aa0e0
Merge branch 'master' into wiki-heading-id-attributes 2022-12-20 06:34:47 +01:00
Dean Herbert
4a9b58adda
Merge branch 'master' into markdown-footnote-support 2022-12-20 13:48:35 +09:00
Bartłomiej Dach
7c282d9def
Enable generic attribute support for wiki markdown containers 2022-12-19 21:32:38 +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
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
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
Dean Herbert
ecac6299c6 Update framework 2022-12-19 22:01:20 +09:00
Dean Herbert
4a7d7c6ed9 Use MaxBy in all locations that can and update inspection level to match dotnet-build 2022-12-19 16:47:10 +09:00
Dean Herbert
8a01a22612 Fix two null refrences in OsuGame 2022-12-19 16:47:10 +09:00
Dean Herbert
877413524f Cherry-picked android changes from #17462 2022-12-19 15:46:54 +09:00
Dean Herbert
b64a5cbda6 Merge branch 'master' into guard-url-protocols 2022-12-19 15:46:45 +09:00
Joseph Madamba
6e62033bc4 Fix some comment actions not being lowercased 2022-12-18 20:20:15 -08:00
Bartłomiej Dach
fea0895f16
Call spectator EndPlaying() immediately after score submission
As it turns out, in current `master`, if a gameplay session ends
normally (i.e. by the player completing the beatmap in full), then
the spectator server `EndPlaying()` method will not be called until
`SubmittingPlayer.OnExiting()`, which in practice turns out to be
the moment where the user exits from the post-gameplay results screen
back to song select.

There is seemingly no reasonable cause for not calling this earlier. In
fact the solo spectator flow looks more broken without this call than
with, because without it the spectator view just hangs until the
spectated player exits gameplay, and *only then* shows results, rather
than do it upon normal gameplay completion.
2022-12-17 21:35:43 +01:00
Dean Herbert
192536643c Fix some more inspections 2022-12-16 20:21:19 +09:00
Dean Herbert
dd9a418549 Fix assembly location lookups 2022-12-16 19:19:59 +09:00
Dean Herbert
de079e08dc Fix incorrect ConfigureAwait call in ImportAsUpdate 2022-12-16 18:54:56 +09: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
Jamie Taylor
d5b2c7dfe9
Clamp SFX panning on results screen 2022-12-16 17:19:07 +09:00
Dean Herbert
d6cae991da Update netstandard2.1 references to net6.0 2022-12-16 17:16:13 +09:00
Dean Herbert
e63b544167 Update framework 2022-12-16 17:02:51 +09:00
Dean Herbert
ce408eaac0 Merge branch 'net6-ios' into guard-url-protocols 2022-12-16 17:02:32 +09:00
Dan Balasescu
cbee72897a
Merge pull request #21654 from Susko3/use-localisable-strings-for-dates-and-times
Use `LocalisableString`s for date and time formats
2022-12-16 16:17:14 +09:00
Dean Herbert
232f590ba3
Merge pull request #21628 from peppy/go-hard-file-writes
Use hard links on windows when importing beatmaps from a legacy osu! install
2022-12-16 14:52:57 +09:00
Susko3
0f34d908c7 Use LocalisableStrings 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
Dean Herbert
9813bc9544 Reword disclaimer and fix translation keys 2022-12-15 22:46:31 +09:00
Dean Herbert
91adf2e80f
Apply the wala-hyphen
Co-authored-by: Walavouchey <36758269+Walavouchey@users.noreply.github.com>
2022-12-15 22:44:47 +09:00
Dean Herbert
d2b98b803d Turn on featured artist filter by default and add disclaimer when toggling for the first time 2022-12-15 18:42:47 +09:00
Dean Herbert
0763b86236 Add more padding around text in dialog popups 2022-12-15 17:32:27 +09:00
Dean Herbert
78bc94d3cb Set featured artists filter to enabled by default 2022-12-15 16:57:39 +09:00
Dean Herbert
a7f3e13946 Fix MultipleSelectionFilter not correctly handling initial selection 2022-12-15 16:56:09 +09:00
Dean Herbert
6bf1477939
Fix some hard links not being created due to missing directory structure
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-12-15 14:17:28 +09:00
Dan Balasescu
fb85eaee95 Add description for lazer score version 30000001 2022-12-14 18:30:33 +09:00
Dean Herbert
50dc76d579
Merge pull request #21618 from smoogipoo/multi-spec-only-local-results
Only show local results in multi-spectator results screen
2022-12-14 14:00:02 +09:00