Bartłomiej Dach
f973befcd4
Remove unused resolved member
2022-12-24 09:34:30 +01:00
Dean Herbert
91bde14fb3
Add button to settings to show lazer upgrade guide
2022-12-24 15:42:24 +08:00
Dean Herbert
5e9fb1063a
Move judgement text creation to base class and tidy things up
2022-12-24 12:22:36 +08:00
Bartłomiej Dach
c7f248e13c
Implement overall ranking display for solo results screen
2022-12-24 00:30:38 +01:00
Bartłomiej Dach
3e782c5f5f
Extract interface for solo statistics watcher
2022-12-23 23:46:41 +01:00
Dean Herbert
03603f8b54
Don't show great or higher judgements when using argon "pro" skin
2022-12-24 03:35:44 +08:00
Dean Herbert
e8a0f8996c
Remove unused osu!catch ArgonJudgementPiece
2022-12-24 03:35:27 +08:00
Dean Herbert
727ac00f6d
Combine base class for JudgementPiece
2022-12-24 03:32:13 +08:00
Joseph Madamba
2dbcf05fe4
Use enum values as ids in fallback instead
2022-12-23 11:13:27 -08:00
Joseph Madamba
494886ef92
Rename Text
to Metadata
2022-12-23 11:11:15 -08:00
Bartłomiej Dach
f434d4d60f
Merge pull request #21772 from peppy/upgrade-guide-help
...
Fix wiki overlay showing error message when load is cancelled
2022-12-23 17:56:29 +01:00
Bartłomiej Dach
94d78a47a4
Merge branch 'master' into upgrade-guide-help
2022-12-23 17:22:04 +01:00
Bartłomiej Dach
3c08c2b9b6
Merge pull request #21675 from Joehuu/fix-breadcrumb-tab-item-click-area
...
Fix breadcrumb tab item click area not extending to background height
2022-12-23 17:09:48 +01:00
Bartłomiej Dach
9a2cc04361
Fix wrong path being used in fail handler
2022-12-23 16:44:03 +01:00
Bartłomiej Dach
3dfbb47b01
Add test coverage for wrong error message
2022-12-23 16:43:59 +01:00
Bartłomiej Dach
137a32ade6
Remove unused using directive
2022-12-23 16:39:35 +01:00
Bartłomiej Dach
67aea34e7e
Merge branch 'master' into fix-breadcrumb-tab-item-click-area
2022-12-23 16:36:58 +01:00
Dean Herbert
4a69cb4aae
Add test coverage of wiki cancellation not causing error
2022-12-23 21:22:47 +08:00
Dean Herbert
a677c8be06
Change path on error
2022-12-23 21:17:42 +08:00
Dean Herbert
5eccafe190
Fix wiki overlay showing error message when load is cancelled
2022-12-23 16:45:40 +08:00
Bartłomiej Dach
b1232a7ee7
Merge pull request #21766 from frenzibyte/fix-waveform-zoom-reload
...
Fix track changes not updating initial timeline zoom correctly
2022-12-23 00:28:22 +01:00
ansel
f25439e359
Move track change subscription to LoadComplete
2022-12-23 01:54:49 +03:00
Bartłomiej Dach
676d4a0d6d
Merge branch 'master' into fix-waveform-zoom-reload
2022-12-22 23:48:50 +01:00
Bartłomiej Dach
d31b649ed7
Merge pull request #21763 from turbedi/argumentnullexception_throwhelper
...
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 23:02:34 +01:00
Salman Ahmed
0cb9b79834
Fix ZoomableScrollContainer
potentially not updating content width on setup
2022-12-23 00:56:38 +03:00
Salman Ahmed
a665013626
Add failing test case
2022-12-23 00:56:38 +03:00
Salman Ahmed
30de9ba795
Dispose previous waveform on track reload
2022-12-23 00:35:59 +03:00
Berkan Diler
08d2fbeb8e
Use new ArgumentNullException.ThrowIfNull throw-helper API
2022-12-22 21:27:59 +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
ansel
20370bd5ae
Invalidate waveform on track load
2022-12-22 20:49:09 +03:00
Salman Ahmed
867a1963be
Merge pull request #21760 from Flutterish/disable-custom-target-log-notifications
...
Don't post notifications from custom log targets
2022-12-22 20:46:15 +03:00
Salman Ahmed
8be6350c01
Remove no longer necessary assert
2022-12-22 20:07:53 +03:00
Flutterish
5df440e20e
dont use is..or
syntax
2022-12-22 17:27:55 +01:00
Flutterish
422fdd8ae5
dont post notifications from custom log targets
2022-12-22 16:56:27 +01:00
ansel
d0645ce151
Rewrite waveform invalidation
2022-12-22 15:59:51 +03:00
ansel
f2e8776529
Bind to clock instead of music controller
2022-12-22 15:35:53 +03:00
Salman Ahmed
15a162a943
Merge pull request #21737 from bdach/restore-default-button-hit-area
...
Fix restore default button having a minuscule hit area
2022-12-22 14:08:46 +03:00
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
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
ansel
a18ece8610
Listen for track reload in timing screen
2022-12-22 01:24:23 +03:00
ansel
7089bb6c23
Listen for track reload in timeline
2022-12-22 01:23:59 +03:00
ansel
66a02374da
Clear cached waveform on track change in editor
2022-12-22 01:23:24 +03: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