-
-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Re-fetch status of any beatmaps stuck in qualified status #32455
Conversation
I'm still linuxing so it might not work for you, but I've had to specify |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems fine on a quick look I guess. Bad case is if there is no saved user credentials which will fail the BackgroundDataStoreProcessor
re-fetch but that's probably a small fraction, and even then (in my head) stuff like submission should continue to run anyway.
@@ -125,9 +125,10 @@ public BeatmapOnlineStatus Status | |||
/// <summary> | |||
/// Reset any fetched online linking information (and history). | |||
/// </summary> | |||
public void ResetOnlineInfo() | |||
public void ResetOnlineInfo(bool resetOnlineId = true) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have a 99.999999% confidence this will never again be called with resetOnlineId: false
outside of the migration this PR is adding, and as such I would have just copied the logic across because I utterly detest boolean parameters like this that basically turn off some of the method, but I don't feel strongly enough about it to demand it changed
foreach (var beatmap in beatmaps) | ||
beatmap.ResetOnlineInfo(resetOnlineId: false); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In testing this does appear to work perhaps too well because I expected this to delete the "qualified" badge from the set in song select if there is no saved user credentials (which will fail the online lookup in BackgroundDataStoreProcessor
). But the badge doesn't go away because the badge uses the status of the set rather than the individual difficulties.
A new couple of weird idiosyncrasies to add to the pile I guess...
Best we do this rather than leaving it up to users to fix their broken beatmaps.
#32406
#32431
To hopefully alleviate testing overhead, here's a video showing things working. Of note, I made a hack since realm studio isn't opening for me – v47 migration sets all ranked maps to qualified for testing purposes:
osu.2025-03-19.at.05.30.26.mp4