osu icon indicating copy to clipboard operation
osu copied to clipboard

Guest mappers are not shown correctly on multiple places in the game

Open LeNitrous opened this issue 4 years ago • 3 comments

Describe the bug: The beatmap info wedge map author when clicked sends you to the wrong profile.

This is due to recent API changes that affected BeatmapMetadata which is done in this pull request: https://github.com/ppy/osu-web/pull/7517. The user_id property now uses the difficulty owner set via beatmap discussions but the creator property still uses the beatmap set host.

A suggestion which may be worthwhile is instead of showing mapped by <creator>, it should instead show hosted by <host> and mapped by <creator>. However, the API endpoint responsible for fetching the beatmap metadata only returns the difficulty owner's ID and requires another lookup in the API.

To reproduce:

  • In beatmap discussions, change the most bottom-most (most difficult) difficulty owner to anyone else image

  • If the beatmap already exists in lazer, delete it and restart the game.

  • Download the beatmap via the web, in-game, or import via stable.

I'll attempt at fixing this if I can be assigned in this issue.

Screenshots or videos showing encountered issue: ymk4jfaKjo

osu!lazer version: master

Logs: N/A

LeNitrous avatar May 26 '21 14:05 LeNitrous

This is wrong in multiple places, so keep that in mind when looking into a fix (needs to be fixed in the local lookup too).

peppy avatar May 26 '21 14:05 peppy

Seeing various reports on this across the years, I think it's good to prioritise it. Shouldn't take much effort anyway.

frenzibyte avatar Dec 17 '24 04:12 frenzibyte

Another issue that stems from incorrect client-side handling of guest mappers is that in some cases it stops the "My Maps" grouping mode from working correctly. One reported case is https://osu.ppy.sh/community/forums/topics/2139456?n=1.

The database contains this garbage:

Image

where 2 of the 4 difficulties have an invalid username for the mapper IDs. This then fails later at

https://github.com/ppy/osu/blob/03455ba683f35228fc4a58120892675922f52fc6/osu.Game/Screens/SelectV2/BeatmapCarouselFilterGrouping.cs#L424-L427

because beatmap.BeatmapSet!.Metadata.Author will arbitrarily pick one of the difficulties' metadata at random, meaning that if a guest difficulty gets picked there, the mapset won't be recognized as the local user's.

bdach avatar Oct 14 '25 07:10 bdach