1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-11 00:32:58 +08:00
Commit Graph

1085 Commits

Author SHA1 Message Date
Dan Balasescu
1a656d0ec3
Remove CachedModelDependencyContainer usages from online play 2024-11-15 15:59:28 +09:00
Dan Balasescu
34c0f72dd6
Make Room.Playlist non-bindable 2024-11-15 15:51:01 +09:00
Dan Balasescu
b16edbbf52
Make Room.RecentParticipants non-bindable 2024-11-15 15:25:43 +09:00
Dan Balasescu
487a010b12
Make Room.PlaylistItemStats non-bindable 2024-11-15 14:42:46 +09:00
Dan Balasescu
0ceaafe731
Make Room.Duration & Room.StartDate & Room.EndDate non-bindable 2024-11-15 14:42:45 +09:00
Dan Balasescu
89de4f0f87
Make Room.AutoStartDuration non-bindable 2024-11-15 14:42:45 +09:00
Dan Balasescu
ec5be6dbc3
Make Room.Password & Room.HasPassword non-bindable 2024-11-15 14:42:18 +09:00
Dan Balasescu
198681e644
Make Room.QueueMode non-bindable 2024-11-15 14:42:18 +09:00
Dan Balasescu
81e4cb348f
Make Room.Type non-bindable 2024-11-15 14:42:18 +09:00
Dan Balasescu
bde7b8e610
Make Room.Category non-bindable 2024-11-15 14:42:18 +09:00
Dan Balasescu
8694f7e1cc
Make Room.Host non-bindable 2024-11-15 14:42:17 +09:00
Dan Balasescu
6160df1586
Make Room.Name non-bindable 2024-11-15 14:29:15 +09:00
Dan Balasescu
99762da7b8
Make RoomID non-bindable
Most important changes are to `RoomSubScreen` and `PlaylistsRoomSubScreen`, because those are the only two cases that now bind to the event instead.
2024-11-13 16:28:54 +09:00
Dan Balasescu
72564b5c98
Make CurrentPlaylistItem not a bindable 2024-11-12 18:17:24 +09:00
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