ppy / osu-web

the browser-facing portion of osu!
https://osu.ppy.sh
GNU Affero General Public License v3.0
971 stars 381 forks source link

Allow retroactively adding guests to a mapset #8243

Closed Okorin closed 2 years ago

Okorin commented 2 years ago

If https://github.com/ppy/osu-web/issues/8196 happens and Guest Difficulties show up on the mapper's profile, then it'd be useful to have the ability to add guests to ranked sets

Obviously this needs some sort of abuse-prevention, but e.g. I have a bunch of maps on other people's sets starting from 2014 or so, having those on my profile as well would be cool

If that first issue happens, then this would be another step that needs some sort of approval system

Hiviexd commented 2 years ago

now that GDs are displayed on userpages, now would be the perfect time to bump this, considering that it can easily be fixed by changing perms to allow hosts to edit difficulty owners on ranked/qualified/nominated maps.

AxerTV commented 2 years ago

I agree, now that we have this implemented it would come as a necessary change.

Niftys commented 2 years ago

Agree + have a good day + I love you

Kimitakari commented 2 years ago

Agree that'd be nice to fill our GDs on our profiles

AncuL001 commented 2 years ago

would also be cool to have GMT/BN/anyone else with roles to add guests to a mapset in case the beatmap host is inactive

peppy commented 2 years ago

If possible, please use the thumbs up response rather than "me too" replies to keep things easy to track.

We'll definitely need to set something up here. A good starting point would be to automate assignments based on difficulty names, which should handle a good portion of unmarked beatmaps.

Cynplytholowazy commented 2 years ago

Any chance for manual marking in addition to automation because there are likely chances that they could be falsely marked / cannot be marked for certain reasons

Could think of these atm

peppy commented 2 years ago

I'll apply the automatic pass over the next couple of days, this should be relative simple and cover 38k ranked difficulties. We'll also look at exposing the controls to moderators as an initial step, to fix any incorrectly labelled difficulties and allow manual application of edge cases.

peppy commented 2 years ago

I'm running an initial pass of the automation to match these up.

A couple of notes:

If posting edge cases to this thread, please try and keep all your reports to a single post per user. If you mark them as a checklist I'll check them off as they are fixed. Also please explicitly mention when a wrong mapping has occurred (as the above posts have done) as I will reset those mappings before running a second time.

Note that the process is running on all ranked/loved/qualified beatmaps and will be completed in around 30-60 minutes from this post's time is completed.

gustarmartins commented 2 years ago

Known collab names (should these be added to all users participating?)

Quick note:

Cynplytholowazy commented 2 years ago

I will try to point out as many as possible here since there’s quite an amount of things that are mapped incorrectly

Whole mapper fixes

Potentially confusing mappings

gonna edit if there’s more (will list as many as possible but will need someone else to add as well since I can’t do it alone and list every possible GD that maybe mismarked, if anyone wants to be added in this list you can dm me in osu! as well)

i will also try to make a way to organize this list in 1 place so it can be fixed sooner

also just gonna say it’s probably not that practical to list everyone’s GD name (since i understand there are so many mappers out there who does GD & some difficulties does not indicate the GD mappers as well)

peppy commented 2 years ago

also just gonna say it’s probably not that practical to list everyone’s GD name (since i understand there are so many mappers out there who does GD & some difficulties does not indicate the GD mappers as well)

it's more practical to list them here and process once than have moderators go through and mark them manually, so please list as many as you can. it'll be a gradual process to match these up but can be done one piece at a time.

Milkitic commented 2 years ago

Some cases: (case sensitive)

Explicit wrong cases:

Crystal's (Minato Yukina) -> wrongly mapped to user "Crystal"

Notes:

others cases are who uses abbreviation which mapped to the exist user with abbreviation naming (e.g. 117's -> (117) https://osu.ppy.sh/users/18931371) Usually one abbr. matches only one user, so un-alias with original algorithm by the above list and re-alias is acceptable I think.

STCapricorn commented 2 years ago

these only hit 1-2 maps each but posting them anyway nvm there are more lol

potentially confused ones

peppy commented 2 years ago

Also please explicitly mention when a wrong mapping has occurred (as the above posts have done) as I will reset those mappings before running a second time.

Cynplytholowazy commented 2 years ago

Instead of using unorganized methods to submit responses I actually think it would be better to organize them into one clear cut place for everything

I think it would be much better than having disorganized messages above so send them all here

made a form here: https://docs.google.com/forms/d/e/1FAIpQLSfqXQ2kmwHNbeVvynTAehIo9WVutDXlmygPeyGDCruEjgzb8w/viewform

here are the responses (you can check here to avoid double submitting): https://docs.google.com/spreadsheets/d/1380qFPnDAbV4YlivKykl6zSiB_Je2YzTckgmV9Rq9Sc/edit?resourcekey#gid=1568085932

(Please resubmit all the above responses as well)

edit: there has been known edge cases that may apply to single beatmaps only. submit them here: https://docs.google.com/forms/d/e/1FAIpQLSfM16E_vYUO-tqPhQ8k6TLO1_bjwBTVQNG9816aisoIpMDd5A/viewform responses: https://docs.google.com/spreadsheets/d/1Mp41Bwn7oSy9Li_jsCcbbaXOxYQd9Dn1BMlrcywSlEc/edit

peppy commented 2 years ago

Okay, but unsure about the last question. Maybe best to leave it a "Anything specific to take care with?" and let people explain any potential issues.

Cynplytholowazy commented 2 years ago

Changed

also whoever inputting the names make sure they are for ranked / qualified / loved ONLY

Kimitakari commented 2 years ago

Here's an edgecase scenario which I don't think it belongs in the spreadsheet.

A multimod player named Crystal, who also maps osu! is corresponding with another mapper from osu!catch CLSW who uses "crystal" name in his difficulty names. However Crystal also has an osu!catch difficulty named "Xingxing" which isn't displayed in his profile. A link for reference: https://osu.ppy.sh/beatmapsets/218623.

To make things much simpler to explain here's his tweet https://twitter.com/Crystal7mi/status/1517383629684772865?t=aKllEYivMsxvx4NsZh_jsQ&s=19 which the osu!catch diffs mapped by CLSW don't belong to him.

Cynplytholowazy commented 2 years ago

I could open another form that has these kind of edge cases for manual adjustments

Could also think of cases like:

if there are any other ways for these to be automated feel free to suggest; however I doubt there would be

edit: map-specific cases can be submitted here instead https://docs.google.com/forms/d/e/1FAIpQLSfM16E_vYUO-tqPhQ8k6TLO1_bjwBTVQNG9816aisoIpMDd5A/viewform

peppy commented 2 years ago

Here's an edgecase scenario which I don't think it belongs in the spreadsheet.

A multimod player named Crystal, who also maps osu! is corresponding with another mapper from osu!catch CLSW who uses "crystal" name in his difficulty names. However Crystal also has an osu!catch difficulty named "Xingxing" which isn't displayed in his profile. A link for reference: https://osu.ppy.sh/beatmapsets/218623.

To make things much simpler to explain here's his tweet https://twitter.com/Crystal7mi/status/1517383629684772865?t=aKllEYivMsxvx4NsZh_jsQ&s=19 which the osu!catch diffs mapped by CLSW don't belong to him.

Such cases can be fixed manually.

iptq commented 2 years ago

There's also users whose names are common words that appear in difficulty names, such as

These people have gotten marked as guest mappers on maps that aren't actually guest diffs at all.

eAkhaten commented 2 years ago

Also SnowNiNo_ guest difficulties are show on Nino's profile

arken1015 commented 2 years ago

Some prefix like 'lepidon!' is only owned by lepidopodus so I hope this could be considered too.

Example - https://osu.ppy.sh/beatmapsets/25690#taiko/87671

xGordon123x commented 2 years ago

The same problem happened to me, since I and this user (Gordon) https://osu.ppy.sh/users/7856835 use the same names to denote GDs, please note since I first started using the designation "Gordon's diff name", and after some reason all my old guest difficulties were attributed to to his profile. For example: 1) Gordon123

NoffyNoffeh commented 2 years ago

Would it be possible to cross reference Beatmap descriptions and tags? That would cover a lot of the not exact match cases

A GD uses a nickname: usually this is part of a full name, which would be in tags. For example: Kibb's diff, oko's diff, those are part of their full names in the tags which would be Kibbleru and okoratu respectively

So if a GD name partially matches multiple usernames: check if there are any of those partial match usernames fully in tags. Use the relevant tag to find GDer

Since mapper names have been required in tags for as long as RC has existed, if that's possible it would cover a lot of cases.

And many maps fully list difficulty creators in descriptions with formats like "diff by mapper", or for Collab maps "diff by mapper a and mapper b"

Cross checking with these resources automatically would help to reduce the number of people and maps who need to be manually added to a list.

If this is already being planned that's awesome, I just haven't seen it brought up anywhere yet.

czneto commented 2 years ago

I've cheked all my maps to see what's missing or is wrong with the new implementation. Here's the list that needs a fix:

gustarmartins commented 2 years ago

I've cheked all my maps to see what's missing or is wrong with the new implementation. Here's the list that needs a fix:

Mismagius' , Delis', Sotarks' and others that follow this naming pattern aren't a specific issue to the mapper/map, but to the way peppy implemented the feature. I am pretty sure it is a bug and he is already aware of it, so once it is fixed it will automatically fix to all these mappers.

Plus, worth mentioning (again) that mappers that changed their usernames (e.g. deetz's) will be fixed soon, too.

Cynplytholowazy commented 2 years ago

It seems that the automatic parse didn't account for Capital letters or Small letters (e.g. BLOCKO'S DIFFICULTY hasn't been assigned to Blocko). Maybe this can be brought to attention as well.

Would it be possible to cross reference Beatmap descriptions and tags? That would cover a lot of the not exact match cases

Think this would work to a certain extent but it would require a lot of mix and match. In addition I can think of multiple cases where this couldn't be applied:

For the others, if you have found any maps that needs to be fixed please head over to https://github.com/ppy/osu-web/issues/8243#issuecomment-1106056290 instead of posting in the thread to avoid clutter.

peppy commented 2 years ago

Would it be possible to cross reference Beatmap descriptions and tags? That would cover a lot of the not exact match cases

I wasn't behind the tag requirement, and from what i can tell it was not implemented in a useful way. If it was guest:username it would have been usable. As it stands I'm do not think it's worth the effort (the false positives will be way to large).

Milkitic commented 2 years ago

Please also add entry for manually adding V1 guest diffs if possible (2007~2016?)

Edit to reply: This is the feedback from an NAT who can't see related functions (2020/4/24 03:11 UTC+0), so I helped them to post here. And since the title is a generic topic on "Allow retroactively adding guests to a mapset" so I post here. If this thread if for purpose usage then it should be renamed to "Custom guest difficulty mapping for retroactively adding guests to a mapset" or sth.

peppy commented 2 years ago

Please also add entry for manually adding V1 guest diffs if possible (2007~2016?)

Thanks for completely not reading this thread, but I'll bite: This has been added. Please contact a team member (NAT / whatever) and ask them to assign for you. Alternatively, please use this thread for its intended purpose.

peppy commented 2 years ago

I'm processing the spreadsheet but have removed any stupid lines (people who put multiple names or free text in either field; people who put their previous usernames in the current username field etc.).

peppy commented 2 years ago

I've done another pass using the provided mappings in the spreadsheet. This matched / remapped 4,936 new difficulties.

I think resetting the spreadsheet and making sure people submit only one pairing per line and include any missed cases (which are mapper to name mappings only - I can't deal with anything else) would be a good next step.

Cynplytholowazy commented 2 years ago

I have gone ahead and reset the spreadsheet so people can input things that may still not be parsed.

making sure people submit only one pairing per line

As for this, I had already filtered quite a lot of the multi-pairing cases (did have some leftovers due to either very confusing ones or the ones I haven't processed yet)

For single beatmap cases I will forward them to NATs and GMTs for fixing.

RockRoller01 commented 2 years ago

Thanks for completely not reading this thread, but I'll bite: This has been added. Please contact a team member (NAT / whatever) and ask them to assign for you. Alternatively, please use this thread for its intended purpose.

Could you please tell us where? From what I have seen none of us NAT/GMT seem to be able to find it, nor have any instructions on what we should and shouldnt handle for now.

Cynplytholowazy commented 2 years ago

Maybe it can be clarified a little bit since it seems like a misunderstanding:

What they are talking about is maps that are ranked under moddingV1 (when modding via forum was still a thing).

Maps ranked under moddingV1 will not have a moddingV2 discussion page (even if you try to force it with url it simply returns a 404), thus making the assign GD button not accessible to GMT / NAT (since that button only exists in moddingV2 discussion pages).

(at least what I heard from the GMT & NAT, if there's something either I missed or is mentioned inside the moderator group then my bad)

peppy commented 2 years ago

For maps where beatmap discussions is not enabled, please wait a while longer. This requires some extra attention.

nanaya commented 2 years ago

Beatmap discussion has been enabled for all beatmaps.

RockRoller01 commented 2 years ago

Wrong auto mapping i found: inaba's -> inaba, should be inaba-tan instead (https://osu.ppy.sh/users/477744) has 30 cases of this happening it seems

gustarmartins commented 2 years ago

Wrong auto mapping i found: inaba's -> inaba, should be inaba-tan instead (https://osu.ppy.sh/users/477744) has 30 cases of this happening it seems

We are using the Google Forms for this now. https://github.com/ppy/osu-web/issues/8243#issuecomment-1106056290

RockRoller01 commented 2 years ago

We are using the Google Forms for this now. thanks for informing. Do we also submit name changed or only wrongly mapped ones?

peppy commented 2 years ago

I've reprocessed up to row 116 of the new responses. 866 new mappings.

I'll do another one on request, let's see how many more come in. Make sure to use the single map form if you don't have a large number of mappings to fix.

peppy commented 2 years ago

I've done one final run (up to row 139, 251 new mappings) and going to call this one completed for now. If any moderators find users which require large assignments feel free to comment on this issue with the specific missing mappings. If they can be fixed by manually assigning (ie. 5 or less beatmaps) then just do it manually from this point forward.