Skip to content
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

Merged
merged 1 commit into from
Mar 19, 2025

Conversation

peppy
Copy link
Member

@peppy peppy commented Mar 19, 2025


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

Best we do this rather than leaving it up to users to fix their broken
beatmaps.

ppy#32406
ppy#32431
@peppy peppy added the realm deals with local realm database label Mar 19, 2025
@peppy peppy added next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! and removed size/S labels Mar 19, 2025
@peppy peppy requested a review from a team March 19, 2025 05:36
@smoogipoo smoogipoo requested a review from bdach March 19, 2025 06:00
@bdach
Copy link
Collaborator

bdach commented Mar 19, 2025

since realm studio isn't opening for me

I'm still linuxing so it might not work for you, but I've had to specify --no-sandbox flag for realm studio to open for me for a few weeks.

Copy link
Collaborator

@bdach bdach left a 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)
Copy link
Collaborator

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

Comment on lines +1255 to +1256
foreach (var beatmap in beatmaps)
beatmap.ResetOnlineInfo(resetOnlineId: false);
Copy link
Collaborator

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...

@bdach bdach merged commit bd6b56a into ppy:master Mar 19, 2025
7 of 10 checks passed
@peppy peppy deleted the reset-qualified-statuses branch March 20, 2025 02:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
next release Pull requests which are almost there. We'll aim to get them in the next release, but no guarantees! realm deals with local realm database size/S
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants