Skip to content

feat(library): optimize catalog search, caching, and game pass filtering - #1681

Open
vishalrao8 wants to merge 1 commit into
unknownskl:main-v2from
vishalrao8:feature/library-search-improvements
Open

vishalrao8 wants to merge 1 commit into
unknownskl:main-v2from
vishalrao8:feature/library-search-improvements

Conversation

@vishalrao8

@vishalrao8 vishalrao8 commented Sep 12, 2026

Copy link
Copy Markdown

🐛 The Bug

  • Blank / Delayed Search on Launch: Searching the library immediately after launch returned incomplete or blank results because titles weren't cached locally and required waiting for multi-batch background HTTP requests to finish.
  • IPC Thrashing & Race Conditions: Rapid typing fired search requests on every single keystroke without debounce, leading to out-of-order query responses and UI lag.
  • Empty Page Trap: Changing search terms while on page > 0 didn't reset pagination, leaving users stuck on an empty grid view.
  • No Entitlement Filter: No quick way to distinguish games the user can actually play (owned, Game Pass, free-to-play) from unowned catalog games.

🛠️ What Changed

  • Instant Catalog Cache: Persists catalog data in electron-store (xcloud_catalog_cache) and restores it on startup for instant launch-time search.
  • Game Pass Games Toggle: Added a filter next to search (defaults to enabled) showing only entitled/free titles.
  • 250ms Debounce: Added keystroke debounce on search input to prevent IPC thrashing.
  • Pagination Clamp: ViewportGrid now resets to page 0 whenever search queries or filters change.
  • Localization: Added translation strings (Game_pass_games) for EN, ES, DE, RU, and UK.
  • Node 22 (.nvmrc): Pinned v22.22.2 to ensure consistent ESM build behavior.

@vishalrao8
vishalrao8 force-pushed the feature/library-search-improvements branch from 7b3426a to 24136ae Compare September 13, 2026 19:15
- Persist and load catalog immediately from electron-store cache (xcloud_catalog_cache) for instant search
- Add Game Pass Games toggle adjacent to search input to filter entitled titles
- Debounce library search input by 250ms to prevent IPC thrashing
- Reset ViewportGrid pagination to page 0 when search results change
- Add localization strings for Game Pass Games in English, Spanish, German, Russian, and Ukrainian
- Add .nvmrc specifying Node 22
@vishalrao8
vishalrao8 force-pushed the feature/library-search-improvements branch from 24136ae to 76b7ff9 Compare September 13, 2026 19:20
@sonarqubecloud

Copy link
Copy Markdown

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant