-
Notifications
You must be signed in to change notification settings - Fork 6
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
[FEATURE] Search for song #26
Comments
The PR does not implement search-by-genre. I'm going to break that out into a separate ticket. |
Closed by #40 |
Current state of main behaves unexpectedly in the song list. To reproduce:
PS: I added you as a collaborator. If I set it up correctly, you should be able to create branches directly in this repository now. |
Thanks; I'll track this down. And thanks for adding me as a collaborator! Now I may have to start getting serious about building out the unit tests. |
Ok, this is a documentation issue -- this is the intended behavior. The artist/album/song results are the results returned in each category by The Subsonic API Navidrome is apparently returning albums in the album section that have "pendulum" somewhere in their idv3 metadata. Could you dump the tags for album titled "LP009" and see which field contains "pendulum"? Gonic behaves differently -- it only returns artists with "pendulum" in the artist name in the As I'm sure you've discovered, the Subsonic API behavior is very poorly defined; the API doesn't say what servers should search for with Now, I could change the behavior to do client-side filtering so that only titles match; this would, essentially, re-implement As for the search panel, it is not a browser like This behavior is different than I'm interested in your perspective on this, but I think it's how it should behave. I do think it'd be worth describing how the search page works in the README, and maybe in the I could add something to explain Navidrome's decisions: print in the log for each item the user selects which idv3 field matched the query (probably only in debug mode, because otherwise the log would get messy); or add another status line with ": ", and this would change as the user navigates around in the UI between elements. That might help people understand e.g. why Navidrome returned album "LP009" as an album that matched the |
Yeah, I've just confirmed this: Navidrome's I don't know if you noticed, but results are paged. You're only getting the first 20 results in each column. Press So, I'm going to update my position on this: Navdrome's search function is confusing and almost useless, since it over-matches. I think it'd be useful to simulate gonic's behavior by client-side filtering, so that only album and songs matching the query are actually populated into the columns, regardless of what the server returns. This may mean performing multiple server calls for each search, because the results are in no order and because of how Navidrome implements tl;dr: Navidrome's |
Now that you explained it, it seems obvious to me. Maybe we can avoid confusion also by using the Box title "artist results" instead of "artists" etc. |
This is actually the behavior I expected first because it kinda looked like three-pane directory browser mode in macOS Finder, which is of course hierarchical. |
I agree about the rename -- I'll sneak that into some other PR. Yeah, I like the idea of adding a "why." Even if it's only Navidrome that behaves this way, it doesn't really hurt to show the matching IDv3 tag. New ticket incoming. |
@spezifisch actually, would you rather have the current behavior with an explanation, or what I suggested: filter on the client side (emulating gonic's behavior) so that no explanation is needed? EditThe more I think about this, the stronger I feel about emulating the gonic approach. I think it's better, and users don't know what's being used under the hood so there's no reason to keep the Navidrome behavior. Having columns contain things which obviously match, and why they match, is a better solution IMO. |
Pulling into 1.0.0 because search has already been merged (which, by itself, would implement this), and the additional PR is fixes for Navidrome (and possibly other servers). |
That's convincing. I was leaning the other way, but let's go with that instead. |
That's awesome, because it's already committed and PR'd. |
The search function is quite limited, at the moment. It would be nice to expand search to a full global search, including song titles, genres, artists, and all the usual jazz supported by music player clients.
The feasibility of this greatly depends on the Subsonic API, because we would not want to do this on the client, as it would require loading the entire server music library metadata which -- in many cases -- would be impractical. I haven't looked into this at all, but Subsonic probably provides an API for this, so the effort would be mainly building a view around it.
On the one hand, extending the current simple '/' function would be nice; on the other, we would probably want a new panel with vertical splits for each category of search result: album, artist, genre, title. This would then need to have similar functionality to the Browser panel for navigation and adding results to the Queue.
This sounds like a non-trivial chunk of work, and what it would look like should be discussed before the hard, UI, part is started. A POC that simply accepts input, submits to the server, and caches the results might be a good start.
Update
Discussion #28 was created for ... discussing.
The text was updated successfully, but these errors were encountered: