android-squeezer
android-squeezer copied to clipboard
"Home list" popup menu misbehaving after server upgrade? database rebuild?
Oh boy, is this a weird one :)
Expected Behavior
A song on a "home list" displays a popup menu when the three dot menu is short pressed
Actual Behavior
The action results in an endlessly spinning circle
Contributing Factors
This has been observed for only old entries after the server upgrade from 7.9 to 8.3 (which, in turn, requested a full database rebuild because the schema changed). Entries added to the home list after the upgrade behave normally. It is as if the menu is built using transient identifiers that are wiped out either by a server upgrade, or a database rebuild.
Hi,
Sorry for the late answer. If you still experience this, I suggest trying the forum. I think it's a server (LMS) issue. Server logs may give the asnwer.
Here's how Squeezer works. There are more details, but in principle it's like this. When we display a page, we display the items we receive from LMS. For each item, we may receive a “go” action and a “more” action. When an item is selected, we send the go action to LMS, and display the items we receive on a new page. When the three dot menu is selected, we send the more action to LMS and display the items we receive in a popup. While waiting for the items, we display a spinning circle. If the spinning circle pertains, it is because we don't receive a response from LMS.
No worries, life is life.
Yep, you're describing exactly what I thought is going on behind the scenes. It may have been that the server was doing shadow rebuilds on old entries, and that was causing a delay.
The issue is no longer observed; I'll keep an eye on it during next server upgrade.
An update: it looks like it's the complete library rescan that causes this.
To Reproduce
- Add an item to the home screen by long pressing on a track in a list;
- Confirm that it is working correctly by pressing the triple dot menu;
- Perform a full library rescan.
Expected Behavior
Pressing the triple dot menu opens the floating action menu.
Actual Behavior
The action results in an endlessly spinning circle, as originally reported.
Additional Context
- Is it possible that Squeezer retains a reference to a track the Squeezebox server no longer has after a full rescan?
- If that's the case, since Squeezer still has the correct metadata on the track, is it possible to recover the lost track reference by, say, initiating two requests in parallel (one as it did before that results in success unless there was a rescan, and the other as "search" that might return the same track possibly slower but still with a valid hit) and then choosing the first answer that came back (since it looks like the Squeezebox Server just doesn't send anything back if it gets a wrong reference)?
- Triple dot menu in search results keeps working as expected.
Thanks for the detailed information, well spotted! I think you're right, the references changes after a server rescan, which causes the configured shortcuts to fail. Squeezer keeps track of the time for last rescan, so we do know when there has been a rescan. We'll think about what we can do, it seems that attempting to use the meta-data is the best option.