1
0
mirror of https://github.com/ppy/osu.git synced 2024-11-15 23:47:25 +08:00
Commit Graph

1071 Commits

Author SHA1 Message Date
Bartłomiej Dach
776fabd77c
Only use MD5 when performing metadata lookups
Both online and offline using the cache.

The rationale behind this change is that in the current state of
affairs, `TestPartiallyMaliciousSet()` fails in a way that cannot be
reconciled without this sort of change.

The test exercises a scenario where the beatmap being imported has an
online ID in the `.osu` file, but its hash does not match the online
hash of the beatmap. This turns out to be a more frequent scenario than
envisioned because of users doing stupid things with manual file editing
rather than reporting issues properly.

The scenario is realistic only because the behaviour of the endpoint
responsible for looking up beatmaps is such that if multiple parameters
are given (e.g. all three of beatmap MD5, online ID, and filename), it
will try the three in succession:

	f6b341813b/app/Http/Controllers/BeatmapsController.php (L260-L266)

and the local metadata cache implementation reflected this
implementation.

Because online ID and filename are inherently unreliable in this
scenario due to being directly manipulable by clueless or malicious
users, neither should not be used as a fallback.
2024-10-30 08:12:30 +01:00
Dean Herbert
6ea1623889
Merge branch 'master' into lookup-users-endpoint 2024-10-22 18:48:00 +09:00
Salman Alshamrani
f8c8184c5c Fix placement blueprints not receiving latest mouse position with touch input 2024-10-13 11:01:18 -04:00
Bartłomiej Dach
9d1eb842a7
Add failing test 2024-10-11 14:16:24 +02:00
Bartłomiej Dach
5104f3e7ac
Switch multiplayer away from using UserLookupCache
After switching `UserLookupCache` to `GET /users/lookup` from `GET
/users`, multiplayer sort of breaks, since the former endpoint does not
return `ruleset_statistics`, which are used in multiplayer to show
users' ranks. Therefore, switch multiplayer to use the appropriate
request type directly.
2024-10-08 14:46:50 +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
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
61a415fed2
Add client/server models & operations for "daily challenge" feature 2024-05-17 10:58:08 +02: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
Bartłomiej Dach
5d26afc531
Fix OsuGameTestScene not clearing second auth factor 2024-01-23 17:00:16 +01:00
Bartłomiej Dach
50eba9ebdb
Reduce code duplication in test 2024-01-08 12:52:14 +01: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
Dean Herbert
efb6c30252
Merge branch 'master' into scoring-test-mods 2023-11-28 18:38:50 +09:00
Bartłomiej Dach
42fada578e
Centralise and improve messaging around online state
When the server requests a disconnect due to a user connecting
via a second device, the client will now log the user out on the first
device and show a notification informing them of the cause of
disconnection.
2023-11-21 15:15:46 +09:00
Bartłomiej Dach
1c612e2e0c
Implement client-side disconnection flow 2023-11-21 15:15:45 +09:00
Dean Herbert
b88e3cd26f
Change ResourceStore provided to Skin to be a fallback, not replacement 2023-11-16 20:19:01 +09:00
Bartłomiej Dach
0e5a521695
Merge pull request #25157 from peppy/spinner-anti-cheese-final
Fix spinner cheese by accounting for spin directionality
2023-10-24 08:13:32 +02:00
Dean Herbert
baf4130f3a
Fix test clock no longer accounting for rate changes 2023-10-23 22:28:40 +09:00
Dean Herbert
15c1fcbf96
Set ManualClock rate to 0 to avoid interpolation causing test errors 2023-10-23 20:29:36 +09:00
Dean Herbert
5341a335a6
Bypass Parent nullability checks for now 2023-10-17 17:48:45 +09:00
Dean Herbert
56e27f1c27
Merge branch 'master' into multiplayer-invites 2023-10-12 18:17:15 +09:00
Dean Herbert
194ad9650d
Remove test scene background stack and use new ChangeBackgroundColour method 2023-10-12 14:08:31 +09:00