From 50dc1135340a276ef2a2d7297b8167a6532fa6bd Mon Sep 17 00:00:00 2001 From: Zhang Date: Sat, 2 May 2026 12:05:34 +0800 Subject: [PATCH 1/2] Add persistent friend list filter state via OsuConfigManager --- osu.Game/Configuration/OsuConfigManager.cs | 2 ++ .../Dashboard/Friends/FriendOnlineStreamControl.cs | 7 +++++++ 2 files changed, 9 insertions(+) diff --git a/osu.Game/Configuration/OsuConfigManager.cs b/osu.Game/Configuration/OsuConfigManager.cs index b48421cafdb9..ae5695a112c4 100644 --- a/osu.Game/Configuration/OsuConfigManager.cs +++ b/osu.Game/Configuration/OsuConfigManager.cs @@ -245,6 +245,7 @@ protected override void InitialiseDefaults() SetDefault(OsuSetting.DashboardSortMode, UserSortCriteria.LastVisit); SetDefault(OsuSetting.DashboardDisplayStyle, OverlayPanelDisplayStyle.Card); + SetDefault(OsuSetting.DashboardFriendStatusFilter, OnlineStatus.All); } protected override bool CheckLookupContainsPrivateInformation(OsuSetting lookup) @@ -511,5 +512,6 @@ public enum OsuSetting DashboardSortMode, DashboardDisplayStyle, + DashboardFriendStatusFilter, } } diff --git a/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs b/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs index b58b48649451..28b7c02b0c23 100644 --- a/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs +++ b/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs @@ -4,6 +4,7 @@ using System; using osu.Framework.Allocation; using osu.Framework.Bindables; +using osu.Game.Configuration; using osu.Game.Online.API; using osu.Game.Online.API.Requests.Responses; using osu.Game.Online.Metadata; @@ -35,6 +36,12 @@ public FriendOnlineStreamControl() ]; } + [BackgroundDependencyLoader] + private void load(OsuConfigManager config) + { + config.BindWith(OsuSetting.DashboardFriendStatusFilter, Current); + } + protected override void LoadComplete() { base.LoadComplete(); From 4ca4fc8eed22fd95e46a15f8059340e9a1320894 Mon Sep 17 00:00:00 2001 From: Zhang Date: Sat, 2 May 2026 13:09:54 +0800 Subject: [PATCH 2/2] Rename friend status filter to generic user status filter --- osu.Game/Configuration/OsuConfigManager.cs | 4 ++-- .../Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/osu.Game/Configuration/OsuConfigManager.cs b/osu.Game/Configuration/OsuConfigManager.cs index ae5695a112c4..2c65a7b489fa 100644 --- a/osu.Game/Configuration/OsuConfigManager.cs +++ b/osu.Game/Configuration/OsuConfigManager.cs @@ -245,7 +245,7 @@ protected override void InitialiseDefaults() SetDefault(OsuSetting.DashboardSortMode, UserSortCriteria.LastVisit); SetDefault(OsuSetting.DashboardDisplayStyle, OverlayPanelDisplayStyle.Card); - SetDefault(OsuSetting.DashboardFriendStatusFilter, OnlineStatus.All); + SetDefault(OsuSetting.DashboardStatusFilter, OnlineStatus.All); } protected override bool CheckLookupContainsPrivateInformation(OsuSetting lookup) @@ -512,6 +512,6 @@ public enum OsuSetting DashboardSortMode, DashboardDisplayStyle, - DashboardFriendStatusFilter, + DashboardStatusFilter, } } diff --git a/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs b/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs index 28b7c02b0c23..1977169295a6 100644 --- a/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs +++ b/osu.Game/Overlays/Dashboard/Friends/FriendOnlineStreamControl.cs @@ -39,7 +39,7 @@ public FriendOnlineStreamControl() [BackgroundDependencyLoader] private void load(OsuConfigManager config) { - config.BindWith(OsuSetting.DashboardFriendStatusFilter, Current); + config.BindWith(OsuSetting.DashboardStatusFilter, Current); } protected override void LoadComplete()