1
0
mirror of https://github.com/ppy/osu.git synced 2024-12-15 04:53:21 +08:00
Commit Graph

36717 Commits

Author SHA1 Message Date
Salman Ahmed
28fc2f34b5
Merge branch 'master' into restore-default-button-hit-area 2022-12-22 13:32:57 +03: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
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
b03291330f
Add score processed callback to spectator client 2022-12-20 21:23:50 +01:00
Bartłomiej Dach
cebd5f6dc2
Fix restore default button having a minuscule hit area
Another casualty of edc78205d5. This
particular button was actually *relying* on receiving positional events
from its entire bounding box rather than `Content`, in order for the
button to be htitable more easily, which broke as other buttons were
fixed to behave more in line with expectations.

Upon closer inspection this is another case of a weird carried-over
construction. The button doesn't really need to inherit `OsuButton` or
do any of the arcane stuff that it was doing, so it's now a plain
`OsuClickableContainer` with less `Content` hackery.
2022-12-20 20:47:58 +01: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
Joseph Madamba
813c351607 Fix breadcrumb tab item click area not extending to background height 2022-12-16 21:44:10 -08: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
Dean Herbert
a3c3112f89
Add SetLastError hint to CreateHardLink pinvoke method
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-12-14 11:34:06 +09:00
Dean Herbert
f4316a9827
Fix incorrect grammar in hard link explanation text
Co-authored-by: Bartłomiej Dach <dach.bartlomiej@gmail.com>
2022-12-14 11:30:01 +09:00
Bartłomiej Dach
849245b90c
Merge branch 'master' into beginplaying-score-token 2022-12-13 17:15:24 +01:00
Bartłomiej Dach
dfb8f4fdd9
Merge branch 'master' into buttons-fix 2022-12-13 16:35:03 +01:00
Dean Herbert
3d65984a89 Update framework 2022-12-13 22:34:01 +09:00
Dean Herbert
bf56f5f8c0 Show error message on attempting to open a URL with an unsupported protocol 2022-12-13 22:33:56 +09:00
Dean Herbert
efe057176e Make OsuButton abstract 2022-12-13 22:13:48 +09:00
Dean Herbert
edc78205d5 Add comments about why both positional input checks are required in OsuClickableContainer 2022-12-13 22:12:52 +09:00
Dean Herbert
b8904fe747 Move ImportParameters to better home 2022-12-13 21:41:26 +09:00
Dean Herbert
cb16d62700 Hook up ImportParameter flow with IModelImporter caller methods 2022-12-13 21:29:32 +09:00
Dean Herbert
6bb612ce69 Move hard link availability check to helper class 2022-12-13 20:20:42 +09:00
Dean Herbert
bbf931c746 Move hard link helper functions to their own class 2022-12-13 19:55:18 +09:00
Dean Herbert
1d4230993d Hook up parameter with RealmFileStore to complete the chain 2022-12-13 19:55:18 +09:00
Dean Herbert
cf2719d4c0 Convert batchImport parameter to parameters class to allow further import configuration 2022-12-13 19:55:18 +09:00
Dan Balasescu
ad7554cc7d Allow keeping stream open after encoding scores 2022-12-13 16:15:14 +09:00
Andrei Zavatski
15bd82add8 Fix DrawableUsername being affected 2022-12-12 18:24:49 +03:00
Andrei Zavatski
890dd9cd06 Fix input doesn't take original drawable modifications into account 2022-12-12 15:10:03 +03:00
Andrei Zavatski
b0d475cd8b CI fix 2022-12-12 14:57:07 +03:00
Andrei Zavatski
d2b3533356 Fix OsuClickableContainer input receiving 2022-12-12 14:42:54 +03:00
Andrei Zavatski
7e39f171fb Fix OsuButton input receiving 2022-12-12 14:42:54 +03:00
Dean Herbert
5800734589
Merge pull request #21587 from smoogipoo/spectatorstate-maximum-statistics
Store maximum statistics to spectator state
2022-12-12 20:00:52 +09:00
Dean Herbert
df94af4495 Inline ScoringValues and make some more methods private inside ScoreProcessor 2022-12-12 19:22:09 +09:00
Dan Balasescu
7b48c91fe2 Only show local results in multi-spectator results screen 2022-12-12 18:56:43 +09:00
Dean Herbert
02b3bbf0d3
Merge pull request #21616 from Joehuu/changelog-build-masking
Fix changelog single build dates disappearing before being off screen
2022-12-12 18:28:48 +09:00
Dean Herbert
05b5949810 Use explicit casts 2022-12-12 17:38:39 +09:00
Dan Balasescu
caa0b7c290 Move score token to BeginPlaying 2022-12-12 13:59:27 +09:00
Dean Herbert
e2d8909e73 Add link to change folder location if it isn't on the same drive as import path 2022-12-12 13:44:09 +09:00
Dean Herbert
726943cb14 Add information attempting to explain hard links to the end user 2022-12-12 13:44:09 +09:00
Dean Herbert
d8de99bbe4 Check for hard link support in first run overlay 2022-12-12 13:44:09 +09:00
Dean Herbert
902dff15e3 Add todo regarding validity check 2022-12-12 13:44:09 +09:00
Dean Herbert
3b1920c060 Add code to check whether a file is a hard link 2022-12-12 13:44:09 +09:00
Dean Herbert
f27603dd6d Use hard links instead of file copy when available 2022-12-12 13:44:09 +09:00
Dean Herbert
731184eb39 Revert "Merge pull request #21614 from EVAST9919/button-fix"
This reverts commit 4bd196684f, reversing
changes made to a1d22ef77a.
2022-12-12 13:43:01 +09:00
Joseph Madamba
e76c56b03b Fix changelog single build dates disappearing before being off screen 2022-12-11 20:10:06 -08:00
Dan Balasescu
7a54bcac57 Remove unused using 2022-12-12 11:41:07 +09:00
Dan Balasescu
6e41efede8 Simplify dictionary construction 2022-12-12 11:40:47 +09:00
Dan Balasescu
5e8d75bbbf Remove unused overload 2022-12-12 11:39:03 +09:00
Andrei Zavatski
1332568796 Fix SettingsButton receiving input at padded area 2022-12-12 03:10:13 +03:00
Dean Herbert
85039209f8 Fix parsing of ruleset configuration values being incorrect on some locales
Closes #21611.
2022-12-12 01:56:36 +09:00
Dean Herbert
0372e38f57 Add nullability assertion to appease CI 2022-12-11 13:00:12 +09:00
Dean Herbert
061f7d4857
Merge branch 'master' into osr-scoreinfo-data 2022-12-11 12:24:03 +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
dependabot[bot]
cdf76077b2
Bump Newtonsoft.Json from 13.0.1 to 13.0.2 in /osu.Game
Bumps [Newtonsoft.Json](https://github.com/JamesNK/Newtonsoft.Json) from 13.0.1 to 13.0.2.
- [Release notes](https://github.com/JamesNK/Newtonsoft.Json/releases)
- [Commits](https://github.com/JamesNK/Newtonsoft.Json/compare/13.0.1...13.0.2)

---
updated-dependencies:
- dependency-name: Newtonsoft.Json
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-08 05:38:06 +00:00
Dean Herbert
f21e903a94 Update framework 2022-12-08 14:06:38 +09:00
Dan Balasescu
313f6e2f10
Merge pull request #21558 from peppy/fix-wrong-di
Fix incorrect resolution of `GameHost` in `LegacyImportManager`
2022-12-08 12:59:31 +09:00
Dan Balasescu
2406b8dfc8
Merge pull request #21557 from Joehuu/nominated-ranked-beatmaps
Display nominated ranked beatmaps in user profile
2022-12-08 11:40:24 +09:00
Dan Balasescu
e00c075482 Fix incorrectly modified first lazer version 2022-12-08 11:30:18 +09:00
Dean Herbert
f6e0aba53d
Merge pull request #21564 from Loreos7/master
Fix stale keybinding in "today's tip"
2022-12-08 11:23:09 +09:00
Bartłomiej Dach
5857471915
Merge branch 'master' into nominated-ranked-beatmaps 2022-12-07 23:54:25 +01:00
Bartłomiej Dach
3f4cab9ad1
Merge branch 'master' into fix-profile-beatmap-expand 2022-12-07 21:10:07 +01:00
Loreos7
0aeee8d6ab
fix typo in today's tip 2022-12-07 17:47:37 +03:00
Dean Herbert
819fd5f950 Fix incorrect resolution of GameHost in LegacyImportManager 2022-12-07 17:53:14 +09:00
Dean Herbert
62b0436bcf Reverse depth of profile sections to allow for overflowing expanded beatmap cards
Closes #21554.
2022-12-07 16:38:17 +09:00
Joseph Madamba
56e94e49a3 Display nominated ranked beatmaps in user profile 2022-12-06 23:36:11 -08:00
Dean Herbert
0497e433b1 Change SectionsContainer to use flowing children for section update logic 2022-12-07 16:30:15 +09:00
Dean Herbert
c5e461e734 Update framework 2022-12-07 16:28:51 +09:00
Dean Herbert
e8766570c5 Update resources 2022-12-07 16:06:53 +09:00
Dean Herbert
d8d25c704f
Merge pull request #21551 from peppy/fix-latency-certifier-butons
Remove triangle effect from latency certifier buttons
2022-12-07 15:55:39 +09:00
Dean Herbert
70e0a04af8
Merge pull request #21541 from bdach/difficulty-bindable-regression
Fix extended values in difficulty adjust being truncated to 10 on beatmap change
2022-12-07 15:05:07 +09:00
Dean Herbert
eea7984ba9 Remove triangle effect from latency certifier buttons 2022-12-07 14:53:56 +09:00
Dan Balasescu
8709b1f2ea Immediately send ack request when joining new channels 2022-12-07 14:24:20 +09:00
Dan Balasescu
df181acffe Append lazer score data to .osr files 2022-12-07 12:12:32 +09:00
Bartłomiej Dach
81a42dc05d
Fix extended values in difficulty adjust being truncated to 10 on beatmap change 2022-12-06 23:25:48 +01:00
Dan Balasescu
e47f933cdc
Merge pull request #21520 from frenzibyte/fix-preview-track-disposal
Fix preview track disposal potentially leaving game track muted
2022-12-06 14:19:21 +09:00
Dan Balasescu
9ddc2f4804
Merge pull request #21523 from Feodor0090/rewind-click-fix
Perform rewind with right click only if cursor didn't leave the button
2022-12-06 13:38:20 +09:00
ansel
b66409bd37 Perform rewind with right click only if cursor didn't leave the button 2022-12-05 23:38:45 +03:00
Salman Ahmed
a457a2fbbf Fix disposal of playing preview track not unmuting game track 2022-12-05 14:45:32 +03:00
Dan Balasescu
9e64f8dab1 Fix loss of precision when computing accuracy 2022-12-05 19:08:50 +09:00
Dean Herbert
c288873365
Merge pull request #21502 from EVAST9919/smooth-progress-remove
Remove SmoothCircularProgress component as being replaced
2022-12-05 14:49:32 +09:00
Salman Ahmed
af000c6e92 Fix RangeSlider potentially throwing exception on mobile platforms 2022-12-04 21:58:00 +03:00
Bartłomiej Dach
cb64919947
Merge branch 'master' into fix-exported-replay-overwrite 2022-12-03 21:09:19 +01:00
Dean Herbert
36ab6bc64e Update framework
Update framework
2022-12-04 01:30:27 +09:00
Bartłomiej Dach
7f0d366d01
Extract common part of regex to separate method 2022-12-03 16:59:43 +01:00
Andrei Zavatski
41f7dad8e9 Delete SmoothCircularProgress.cs 2022-12-03 16:40:41 +03:00
Andrei Zavatski
97b6d88f00 Remove SmoothCircularProgress usage in AccuracyCircle 2022-12-03 16:39:44 +03:00
Andrei Zavatski
94cfcdb338 Remove SmoothCircularProgress usage in BeatmapCardThumbnail 2022-12-03 16:16:21 +03:00
Dean Herbert
49f5ac57b8 Fix first run beatmap screen button colours looking incorrect with new triangle effect
Addresses #21500.
2022-12-03 18:48:54 +09:00
Dean Herbert
5a69656764
Merge pull request #21496 from peppy/fix-zero-length-spinners
Fix being able to place zero-length spinners
2022-12-02 19:25:00 +09:00
Dan Balasescu
850931120d
Merge pull request #21479 from peppy/fix-wrong-last-hit-object-time
Fix some components not accounting for final hold notes in osu!mania beatmaps
2022-12-02 18:12:00 +09:00
Dean Herbert
d1296a22ce Update timeline blueprint's end time logic to better match new blueprint implementation 2022-12-02 17:57:15 +09:00
Dean Herbert
ba99f1288c Update IBeatSnapProvider documentation to mention the pre-divided BeatSnap 2022-12-02 17:57:15 +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
Dan Balasescu
a39bd634c4
Merge pull request #21405 from LumpBloom7/Editor-DrawableRuleset-Dependencies
Provide DrawableRulesetDependencies from HitObjectComposer
2022-12-02 17:31:31 +09:00
Dan Balasescu
d684aa75b8
Merge pull request #21477 from peppy/fix-mania-timeline-blueprint-colour
Fix osu!mania editor timeline showing bright-white blueprints
2022-12-02 16:55:29 +09:00
Dean Herbert
25120060aa Use new helper method in ModTimeRamp 2022-12-02 16:09:46 +09:00
Dean Herbert
a2db0afe19 Avoid querying GetLastObjectTime twice in editor seek flow 2022-12-02 16:07:24 +09:00
Dean Herbert
809d02cda0 Fix two implementation oversights 2022-12-02 16:05:14 +09:00
Dean Herbert
8cf89fcb81 Use Highlight1 instead of dull grey 2022-12-02 15:30:47 +09:00
Piggey
75cf7bd1d2 change GetNextBestFilename()'s parameters 2022-12-01 18:44:02 +01:00
Piggey
5de01686a9 extract findBestNumber() from GetNextBestName() into private method 2022-12-01 18:42:52 +01:00
Dean Herbert
d8dd7e7e0f Fix test failures when no hitobjects are present in a scrolling ruleset 2022-12-01 21:42:03 +09:00
Dean Herbert
896f2d8f74 Fix multiple instances of last hitobject time being calculated incorrectly 2022-12-01 18:04:06 +09:00