-
-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Show more comprehensive background processing progress notifications #25832
Show more comprehensive background processing progress notifications #25832
Conversation
Saves running things twice on an old install
0e9e38b
to
5ab3815
Compare
if (notification == null) | ||
return; | ||
|
||
notification.Text = notification.Text.ToString().Split('(').First().TrimEnd() + $" ({processedCount} of {totalCount})"; |
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.
this is a bit of a crime but i'm not gonna split hairs for now as none of this is correctly localisable anyways (no pluralisation support)
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.
split hairs 😎
yeah i dunno, it's isolated and can be refactored if/when we manage to localise this.
The above is a nit, but the bigger problem here is the tests. They are presumably failing because these notifications will now show up on a blank install. In fact, this is what shows up on a completely clean lazer environment (after This is because the processing is running on the fake "triangles" beatmap. We probably don't want that. One thing that could be done is this: diff --git a/osu.Game/BackgroundDataStoreProcessor.cs b/osu.Game/BackgroundDataStoreProcessor.cs
index 55be7f2c9e..9d2a719957 100644
--- a/osu.Game/BackgroundDataStoreProcessor.cs
+++ b/osu.Game/BackgroundDataStoreProcessor.cs
@@ -135,12 +135,12 @@ private void processBeatmapSetsWithMissingMetrics()
// of other possible ways), but for now avoid queueing if the user isn't logged in at startup.
if (api.IsLoggedIn)
{
- foreach (var b in r.All<BeatmapInfo>().Where(b => (b.StarRating < 0 || (b.OnlineID > 0 && b.LastOnlineUpdate == null)) && b.BeatmapSet != null))
+ foreach (var b in r.All<BeatmapInfo>().Where(b => (b.StarRating < 0 || (b.OnlineID > 0 && b.LastOnlineUpdate == null)) && b.BeatmapSet != null && !b.BeatmapSet.Protected))
beatmapSetIds.Add(b.BeatmapSet!.ID);
}
else
{
- foreach (var b in r.All<BeatmapInfo>().Where(b => b.StarRating < 0 && b.BeatmapSet != null))
+ foreach (var b in r.All<BeatmapInfo>().Where(b => b.StarRating < 0 && b.BeatmapSet != null && !b.BeatmapSet.Protected))
beatmapSetIds.Add(b.BeatmapSet!.ID);
}
});
@@ -196,7 +196,7 @@ private void processBeatmapsWithMissingObjectCounts()
realmAccess.Run(r =>
{
- foreach (var b in r.All<BeatmapInfo>().Where(b => b.TotalObjectCount == 0))
+ foreach (var b in r.All<BeatmapInfo>().Where(b => b.TotalObjectCount == 0 && b.BeatmapSet != null && !b.BeatmapSet.Protected))
beatmapIds.Add(b.ID);
});
but I don't know... |
I've applied the proposal in a bit of a more central way, good catch. |
704c203
to
9aaaa12
Compare
Turns out that solution plays pretty bad because |
Addresses the visibility part of #25824. Will attempt to reduce the side-effects at song select separately.
CleanShot.2023-12-18.at.09.43.29.mp4