Add universal search screen - #1717
Open
obiwantoby wants to merge 1 commit into
Open
Conversation
Replace the in-tab classic search with a global search screen that queries the Jellyfin server across tracks, albums, artists, playlists and genres with a 300ms debounce. Because a plain search term only matches item names, matched artists are expanded into their albums and tracks (fetched separately so albums aren't buried behind tracks), so e.g. searching an artist's name also lists their discography. Results are de-duplicated and ordered by type. Tracks reuse TrackListTile; other item types use ItemWrapper so tapping opens the artist/album/playlist/genre screen. The music screen search icon now routes to this screen.
Member
|
@obiwantoby thanks for the PR! Most components needed (filter chips, headers) should already exist in the code base, so please try to reuse those. |
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.
Replace the in-tab classic search with a global search screen that queries the Jellyfin server across tracks, albums, artists, playlists and genres with a 300ms debounce.
Because a plain search term only matches item names, matched artists are expanded into their albums and tracks (fetched separately so albums aren't buried behind tracks), so e.g. searching an artist's name also lists their discography. Results are de-duplicated and ordered by type.
Tracks reuse TrackListTile; other item types use ItemWrapper so tapping opens the artist/album/playlist/genre screen. The music screen search icon now routes to this screen.
Changes
No new setting or Hive field: universal search fully replaces classic search, so there's nothing to toggle or maintain.
Built and tested on the iOS simulator against a live Jellyfin server.
Related Issues
Split out from #1533 as requested — this PR contains only the universal search feature; the iOS 26 crash / Podfile / file_picker fixes will follow in separate PRs.