Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Conversation

@bdach
Copy link
Collaborator

@bdach bdach commented Aug 20, 2025

Addresses #34705, I suppose.

The cagey tone of that statement is because this change merely papers over the issue. The issue in question for the user that reported this is that they have a bunch of very old beatmaps, whose md5 hashes do not match the online hashes, that need updating. The submission/rank date population was running every single time for these, and failing every time, because there is really not much useful that the lookup can do.

Because mappers have made OnlineID essentially useless for determining the provenance of a beatmap due to reusing them to "fix" beatmap submission failures, online IDs have been explicitly disallowed from use in any sort of beatmap lookup flow. The only things that are allowed to be used are: md5 of the beatmap, and filename as a fallback for very old beatmaps / beatmap packs.

If the user has local beatmaps with md5 not matching online, chances are that any metadata lookups are likely to fail or return bogus data. At that point my personal feeling is that backpopulation flows should leave such beatmaps well alone and the user should just go update the beatmap themselves.

I am aware that updating 124 individual beatmap sets would - in the current state of things - would probably be a ridiculously onerous thing to do, and that people have been asking multiple times for a facility to update all local beatmaps at once, but that discussion is out of scope at this stage.

Addresses ppy#34705, I suppose.

The cagey tone of that statement is because this change merely papers
over the issue. The issue in question for the user that reported this is
that they have a bunch of very old beatmaps, whose md5 hashes do not
match the online hashes, that need updating. The submission/rank date
population was running every single time for these, and failing every
time, because there is really not much useful that the lookup *can* do.

Because mappers have made `OnlineID` essentially useless for determining
the provenance of a beatmap due to reusing them to "fix" beatmap
submission failures, online IDs have been explicitly disallowed from use
in any sort of beatmap lookup flow. The only things that are allowed to
be used are: md5 of the beatmap, and filename as a fallback for very old
beatmaps / beatmap packs.

If the user has local beatmaps with md5 not matching online, chances are
that any metadata lookups are likely to fail or return bogus data. At
that point my personal feeling is that backpopulation flows should leave
such beatmaps well alone and the user should just go update the beatmap
themselves.

I am aware that updating 124 individual beatmap sets would - in the
current state of things - would probably be a ridiculously onerous thing
to do, and that people have been asking multiple times for a facility to
update all local beatmaps at once, but that discussion is out of scope
at this stage.
@bdach bdach self-assigned this Aug 20, 2025
@bdach bdach added area:database Deals with local realm database area:beatmap change tracking sync of local-online metadata and status labels Aug 20, 2025
@bdach bdach changed the title Fix submission & rank date failing every launch for some users Fix submission & rank date backpopulation failing every launch for some users Aug 20, 2025
@peppy peppy merged commit 4b8ff48 into ppy:master Aug 21, 2025
7 of 9 checks passed
@bdach bdach deleted the avoid-endless-futile-backpopulation branch August 21, 2025 11:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area:beatmap change tracking sync of local-online metadata and status area:database Deals with local realm database size/S

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants