Commit Graph

1298 Commits

Author SHA1 Message Date
Bartłomiej Dach 9d1eb842a7
Add failing test 2024-10-11 14:16:24 +02:00
Bartłomiej Dach a00ed8dd77
Merge pull request #29914 from peppy/fix-judgement-counter-sync
Fix judgement counter not showing correct counts when spectating user mid-play
2024-09-27 10:57:26 +02:00
OliBomby e3b4483872 Refactor PlacementBlueprint to not be hitobject specific 2024-09-24 20:31:00 +02:00
Dean Herbert 2d993645af
Add test coverage of judgements not being synced when resuming a replay 2024-09-18 15:28:10 +09:00
Dean Herbert e79604cc13
Merge pull request #29542 from frenzibyte/show-daily-challenge-intro-once-per-session
Show daily challenge intro screen once per session
2024-09-01 21:27:16 +09:00
Dean Herbert 2d745fb67e
Apply NRT to `APIRequest` 2024-08-30 18:35:31 +09:00
Salman Ahmed b54487031a Add `DailyChallengeButton` for intro played flag reset logic 2024-08-24 22:19:17 +09:00
Dean Herbert 41756520b1
Rename `SkinComponentsContainer` to `SkinnableContainer` 2024-08-22 17:42:50 +09:00
Bartłomiej Dach 7693d4c039
Merge branch 'master' into master 2024-08-19 14:30:20 +02:00
Dean Herbert e75ae4a37b
More hardening of `TestMultiplayerClient` to attempt to fix test failures 2024-08-19 04:04:24 +09:00
Layendan 19a4cef113 update var names and test logic 2024-08-01 02:52:41 -07:00
Layendan 8eeb5ae06b Fix tests 2024-07-30 17:08:56 -07:00
Dean Herbert 5ebb5ad670
Fix test failure due to `TestMetadataClient` providing null statistics array 2024-07-31 02:53:10 +09:00
Bartłomiej Dach b46f3c97da
Add notification on daily challenge conclusion & start of new one
Because I wish to stop seeing "DAILY CHALLENGE WHERE" every day
on #general.

The notifications are constrained to the daily challenge screen only to
not spam users who may not care.
2024-07-29 14:30:10 +02:00
Bartłomiej Dach 861b546562
Add vague test coverage 2024-07-29 10:58:05 +02:00
Salman Ahmed 7a5624fd0e Add screen footer to `ScreenTestScene` 2024-07-11 15:30:07 +03:00
Dean Herbert 9a88281ab0
Merge branch 'master' into footer-v2-integration 2024-07-10 15:33:05 +09:00
Bartłomiej Dach 5fa586848d
Replace old bad daily challenge leaderboard with new implementation
- Actually shows scores rather than playlist aggregates (which are
  useful... in playlists, where there is more than one item)
- Actually allows scores to be shown by clicking on them
- Doesn't completely break down visually on smaller window sizes

The general appearance is not as polished as the old one in details but
I wanted something quick that we can get out by next weekend.

Also includes the naive method of refetching scores once a new top 50
score is detected. I can add a stagger if required.
2024-07-04 13:52:08 +02:00
Salman Ahmed 48bf3f1385 Migrate mod select overlay footer content 2024-06-30 06:50:36 +03:00
Bartłomiej Dach d6e7781be1
Add client/server models for allowing clients to receive realtime playlist updates 2024-06-27 11:32:18 +02:00
Bartłomiej Dach 8757e08c2c
Fix test failures due to automatic break generation kicking in 2024-06-19 11:32:08 +02:00
Bartłomiej Dach 67ca7e4135
Implement toggling visibility of pass and fail storyboard layers
Closes https://github.com/ppy/osu/issues/6842.

This is a rather barebones implementation, just to get this in place
somehow at least. The logic is simple - 50% health or above shows pass
layer, anything below shows fail layer.

This does not match stable logic all across the board because I have
no idea how to package that. Stable defines "passing" in like fifty
ways:

- in mania it's >80% HP
  (bb57924c15/osu!/GameModes/Play/Rulesets/Mania/RulesetMania.cs#L333-L336)
- in taiko it's >80% *accuracy*
  (bb57924c15/osu!/GameModes/Play/Rulesets/Taiko/RulesetTaiko.cs#L486-L492)
- there's also the part where "geki additions" will unconditionally set
  passing state
  (bb57924c15/osu!/GameModes/Play/Player.cs#L3561-L3564)
- and also the part where at the end of the map, the final passing state
  is determined by checking whether the user passed more sections than
  failed
  (bb57924c15/osu!/GameModes/Play/Player.cs#L3320)

The biggest issues of these are probably the first two, and they can
*probably* be fixed, but would require a new member on `Ruleset` and I'm
not sure how to make one look, so I'm not doing that at this time
pending collection of ideas on how to do that.
2024-06-14 13:59:02 +02:00
Bartłomiej Dach 61a415fed2
Add client/server models & operations for "daily challenge" feature 2024-05-17 10:58:08 +02:00
Dean Herbert fd3f4a9e7b
Preserve storyboard events when saving a beatmap in the editor
Until we have full encoding support for storyboards, this stop-gap
measure ensures that storyboards don't just disappear from existence.
2024-04-30 00:01:56 +08:00
Dean Herbert 4184a5c1ef
Add flag to allow backwards seeks in tests 2024-02-29 23:05:28 +08:00
Dean Herbert c87bc8b597
Merge pull request #27180 from bdach/better-submission-failure-messaging
Add better submission failure messaging
2024-02-19 21:38:23 +08:00
Dean Herbert 415a65bf59
Add failing tests for beatmap inconsistencies 2024-02-18 19:32:21 +08:00
Bartłomiej Dach 898d5ce88b
Show selected submission failure messages even in solo
Previously, if a `SubmittingPlayer` instance deemed it okay to proceed
with gameplay despite submission failure, it would silently log all
errors and proceed, but the score would still not be submitted. This
feels a bit anti-user in the cases wherein something is genuinely wrong
with either the client or web, so things like token verification
failures or API failures are now shown as notifications to give the user
an indication that something went wrong at all.

Selected cases (non-user-playable mod, logged out, beatmap is not
online) are still logged silently because those are either known and
expected, or someone is messing with things.
2024-02-15 10:55:08 +01:00
Dan Balasescu 50f9c61029
Fix multiplayer tests 2024-02-02 22:34:48 +09:00
Dan Balasescu 20ae88b0a0
Revert unnecessary changes 2024-02-02 21:05:50 +09:00
Dan Balasescu b44f77cee1
Update R# + fix inspections 2024-02-02 21:00:28 +09:00
Dean Herbert 4a2602a775
Merge branch 'master' into 2fa 2024-01-29 16:57:29 +09:00
Dean Herbert ef94eff574
Rename `PollingChatClientConnector` to better describe usage 2024-01-29 16:56:28 +09:00
Bartłomiej Dach b39b112548
Merge branch 'decouple-notification-websocket-from-chat' into 2fa 2024-01-26 11:21:33 +01:00
Bartłomiej Dach 243c2bc9b4
Make sure the polling connector actually auto-starts itself 2024-01-26 11:21:23 +01:00
Bartłomiej Dach 3d3506b906
Merge branch 'decouple-notification-websocket-from-chat' into 2fa 2024-01-25 14:51:42 +01:00
Bartłomiej Dach c463aa5ba1
xmldoc everything 2024-01-25 14:47:29 +01:00
Bartłomiej Dach de52f0a80c
Decouple notifications websocket handling from chat operations
This is a prerequisite for https://github.com/ppy/osu/pull/25480.

The `WebSocketNotificationsClient` was tightly coupled to chat specifics
making it difficult to use in the second factor verification flow.
This commit's goal is to separate the websocket connection and message
handling concerns from specific chat logic concerns.
2024-01-25 14:47:29 +01:00
Bartłomiej Dach 5d26afc531
Fix `OsuGameTestScene` not clearing second auth factor 2024-01-23 17:00:16 +01:00
Dean Herbert 82e7643df5
Update IPC usages
Of note, I've disabled IPC on visual test runners as we generally don't
use IPC in these cases. Having it set means that the game will not open
while visual tests are open, which has been a complaint from devs in the
past.
2024-01-18 19:45:36 +09:00
Bartłomiej Dach 50eba9ebdb
Reduce code duplication in test 2024-01-08 12:52:14 +01:00
Dean Herbert f0aeeeea96
...in a safer way 2024-01-04 17:13:21 +09:00
Dean Herbert df99a37254
Fix another realm null inspection 2024-01-04 17:11:40 +09:00
Dan Balasescu 88a5ba8167
Add mania/osu sudden death mod tests 2023-12-22 16:43:09 +09:00
Dan Balasescu 9c35e25036
Add failing tests 2023-12-22 13:58:12 +09:00
Bartłomiej Dach 86e003aec1
Update currently online display tests 2023-12-06 19:37:35 +01:00
Dan Balasescu f3530a79b1
Add test 2023-12-01 21:34:20 +09:00
Dan Balasescu a94180c8c6
Rename LoadAborted -> GameplayAborted, AbortGameplayReal -> AbortMatch 2023-12-01 18:26:59 +09:00
Dan Balasescu 894c31753b
Add initial support for aborting multiplayer games 2023-12-01 15:31:06 +09:00
Dean Herbert 537c9e031d
Merge pull request #25522 from bdach/no-concurrent-connections
Implement flow allowing disconnection from online services when another client instance for same user is detected
2023-11-28 19:09:38 +09:00