Add family library search filters to store search - #2351
Open
Pedro-V wants to merge 2 commits into
Open
Conversation
Pedro-V
force-pushed
the
feature/family-shared-search-filter
branch
from
July 8, 2026 16:27
ebfc9f9 to
c90e907
Compare
Pedro-V
marked this pull request as ready for review
July 8, 2026 16:29
Pedro-V
force-pushed
the
feature/family-shared-search-filter
branch
from
July 8, 2026 17:09
c90e907 to
326020b
Compare
Pedro-V
force-pushed
the
feature/family-shared-search-filter
branch
4 times, most recently
from
July 9, 2026 00:00
f8b438d to
e3994a7
Compare
Two client-side filters in the search page filter block: - "Hide games shared with my Family": games playable through Steam Family Sharing (IFamilyGroupsService/GetSharedLibraryApps). - "Hide games owned by my Family": every game owned by another family member, including titles that are not shareable (EA, Rockstar, etc). Built from the union of IPlayerService/GetOwnedGames across the other members, since GetSharedLibraryApps only returns the shareable subset. Both lists are fetched in the background with the user webapi token and cached in a dedicated familyLibrary IndexedDB store. Per-member requests use Promise.allSettled so a private member profile (GetOwnedGames answers with EResultAccessDenied) or a transient error does not discard the rest of the result. The fetch is warmed on page load so toggling applies without a delay. FSearchFilters returns early when the advanced search sidebar is not present (narrow layouts) instead of throwing.
Pedro-V
force-pushed
the
feature/family-shared-search-filter
branch
from
July 10, 2026 04:30
e3994a7 to
8927603
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Adds two client-side filters to the search page filter block for people who share a Steam Family.
Filters
Together with Steam''s own "hide items in my library" this lets you drop everything already available within the family from the results.
Implementation
IFamilyGroupsService/GetSharedLibraryApps(include_own=false).IPlayerService/GetOwnedGamesacross the other family members.GetSharedLibraryAppsonly returns the shareable subset, so non-shareable titles that still appear in the client Family view would otherwise be missed.familyLibraryIndexedDB store. The per-member requests usePromise.allSettled, so a member with a private profile (whereGetOwnedGamesreturnsEResultAccessDenied) or a transient error does not throw away the rest of the result. The fetch is warmed on page load so the filters apply without a visible delay when toggled.SteamWebApibackground module andSteamWebApiFacade. TwoSimpleSearchFiltersubclasses share a single memoized fetch. Rows are tagged withas-hide-familyshared/as-hide-familyownedand hidden via CSS, same as the existing filters. No new permissions.FSearchFiltersnow returns early when the advanced search sidebar is not present (narrow layouts) instead of throwing.Testing
Tested on Firefox and Chrome while logged into an account that is part of a Steam Family: shared and owned games are hidden as expected, non-family games are left alone, and a family member with a private game library is handled without errors.