1
0
mirror of https://github.com/ppy/osu.git synced 2025-01-10 23:12:54 +08:00
Commit Graph

24 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
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
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
Bartłomiej Dach
7693d4c039
Merge branch 'master' into master 2024-08-19 14:30:20 +02: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
Bartłomiej Dach
861b546562
Add vague test coverage 2024-07-29 10:58:05 +02: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
Dan Balasescu
1811647e34 Make room requests handler handle GetBeatmapRequest 2022-09-27 20:30:41 +09:00
Salman Ahmed
728487b7fb Handle GetBeatmapSetRequest on test room requests handler
Required for `BeatmapSetOverlay` lookups to work under dummy API. Not
100% sure about it, but works for now.
2022-07-14 02:34:55 +03:00
Dan Balasescu
f8830c6850 Automated #nullable processing 2022-06-17 16:37:17 +09:00
Dan Balasescu
3df4d1b0e6 Fix incorrect HasPassword value for returned rooms 2022-06-03 21:17:48 +09:00
Dan Balasescu
41ff170b60 Fix playlist IDs not being returned 2022-06-03 21:12:09 +09:00
Dan Balasescu
646f5f0f33 Isolate "server-side" multiplayer rooms in testing 2022-06-03 19:17:34 +09:00
Dan Balasescu
ccd265ebe7 Handle beatmap lookup requests in TestRoomRequestsHandler 2022-02-15 23:41:50 +09:00
Dean Herbert
d26f4d50bd Add test coverage of aggregate room scores displaying correctly 2022-01-18 14:00:12 +09:00
Dan Balasescu
52230a6f00
Merge branch 'master' into multiplayer-delayed-playlist-load-broken 2021-12-07 22:45:05 +09:00
Dean Herbert
bdddaba352 Remove unnecessary test request handling 2021-12-02 14:33:56 +09:00
Dan Balasescu
7224f6bac5 Fix testable online IDs starting at 0 2021-12-01 20:00:31 +09:00
Dan Balasescu
e9a19aacd7 Fix tests by requiring host 2021-11-26 17:23:50 +09:00
Dan Balasescu
7c91cd674e Update test classes to set owner ids 2021-11-25 22:17:18 +09:00
Dean Herbert
0ecf5f201c Rename User to APIUser and move to correct namespace 2021-11-07 11:26:01 +09:00
Salman Ahmed
f4ae587a33 Extract room request handling logic to its own class 2021-08-19 06:24:06 +03:00