Bugzilla – Bug 7019
SlimBrowser doesn't handle empty lists properly
Last modified: 2008-05-15 13:03:24 UTC
Jive FW: 7.0 r1841 Steps to Reproduce: 1. Connect Jive to SN. 2. Update FW to the latest. 3. On Jive, go to the Music Services and pick Rhapsody. 4. Go to PC and Sign in. 5. On Jvie, go to Rhasody's "Search". 6. Search by artist. Type in "BONY TYLER". 7. Notice Jive returns nothing. 8. Search by key word. Type in "TOTAL ECLIPSE". 9. Notice Jive does not return anything.
Succeeded in serching for "EAGLE". Jive returned many names with "EAGLE" in them, such as ""Eagle", "The Eagles", and "The Eagles (1960)". Is it possible that Rhapsody does not know about Bony Tyler and the "Total eclipse of the heart"?
The way to find that out is to perform the same search in the web UI, player UI, etc. The lists should be the same.
Hmm, interesting. A search for 'ABBA' works fine, but indeed 'BONY TYLER' does not. Also, Jive keeps requesting the search over and over while sitting on the empty results screen. 'BONY TYLER' works fine in the web UI.
The same thing occurs in SC, so I'm changing this to a Jive bug.
The problem is SC is returning an empty list, and Jive just keeps requesting it. Assigning to Ben. Cometd request: [ { channel => "/slim/request", data => { request => [ "00:04:20:10:01:6a", [ "rhapsodydirect", "items", 0, 200, "item_id:2.0", "menu:rhapsodydirect", "search:BONY TYLER", ], ], response => "/7fa8051a/slim/request", }, id => 3322, }, ] [08:28:49.1761] Slim::Web::Cometd::handleRequest (779) Request for /7fa8051a/slim/request / 3322 is not async [08:28:49.1764] Slim::Web::Cometd::Manager::deliver_events (209) Sending event on channel /7fa8051a/slim/request to 7fa8051a [08:28:49.1774] Slim::Web::Cometd::Manager::deliver_events (223) Delivering events to 7fa8051a: [ { channel => "/7fa8051a/slim/request", data => { # tied Tie::IxHash count => 0, window => {}, }, ext => { priority => "" }, id => 3322, }, ]
This code is the problem, anyone know what it's for? This is not how search is supposed to work. # allow searching in the name field if ($search && @{$subFeed->{'items'}}) { my @found = (); my $i = 0; for my $item ( @{$subFeed->{'items'}} ) { if ($item->{'name'} =~ /$search/i || $item->{'title'} =~ /$search/i) { $item->{'_slim_id'} = $i; push @found, $item; } $i++; } $subFeed->{'items'} = \@found; }
OK, I've removed that chunk of code in change 17334 and it fixes these Rhapsody searches. There is still a SlimBrowser bug when items = 0.
FYI, same thing happens with Music Library -> Search -> Artists -> search for something with no results.
Good news. Tried the latest FW -- 7.0 r1853. The search for Bony Tyler works just fine. Looks like this bug has been fixed. Should this be marked as "FIXED"?
would be nice to have a change number from Ben on this one. I saw it go in but don't recall the exact rev.
jive r1873 closes an infinite request loop that was occurring when the count for a search was 0, but there's still a little more work to be done on the SC side here. What I'd like to see happen is that for all queries that return nothing, a single item gets sent to jive with an appropriate string (e.g., 'Nothing Found'). I'm working on that.
fixed in SC change 17368
This bug has recently been fixed in the latest release of SqueezeCenter 7.0.1 Please try that version, if you still see the error, then reopen this bug. To download this version, please navigate to: http://www.slimdevices.com/su_downloads.html