Blank cover art with offline cache after multi library navidrome

Issue description:

After updating to the latest version of navidrome and taking advantage of the multiple libraries feature, songs that are cached offline do not display the proper album artwork on the now playing screen. They display the artwork in the library browser, as well as on the album page, but show the gray music note placeholder instead of album artwork on the now playing screen. If I am connected to the network, the artwork displays (as if it is downloading it from the server). If I have added music to navidrome after doing the update, syncing symfonium, and cache those new albums offline, the artwork displays properly. It seems to only affect the cached content from before configuring multiple libraries.

Logs:

Upload description: bencovers

Additional information:

 
I have tried clearing the image cache, and then scrolling through all my albums and artists in order to download new image cache. This all displays fine while browsing the library, just not on the now playing screen. Does the same thing whether persistent image cache is enabled or not (having it not enabled normally works fine on my device).

With over 600GB of offline cache, not having the delete and download it all again would be much preferred.

I have not tried deleting the media provider and re-adding it, as I’m pretty sure that would cause the newly added provider (once it’s re-added) to not recognize the offline cache.
 

Reproduction steps:

 
Have content cached for offline playback previous to updating to navidrome 0.58.
Update to navidrome 0.58 (let the full library scan run, and sync symfomium, etc.)
Add a second library.
Rename the original library (default name is Library 1… I renamed it to PCM as the second, new library is for DSD)
Play pre-update cache offline.
 

Media provider:

Subsonic

Screenshots:

     

Add another provider, sync, then remove the previous one, the offline cache will be kept.

I can’t workaround the changes in Navidrome.

1 Like

Sounds like a plan, I’ll let you know how it goes.

Thanks

Overall, everything did go very smoothly with the Navidrome update and their added support for multiple libraries. The only time I ran into trouble was with renaming the default library.

Still no artwork even after replacing the provider.

EDIT: I may have accidentally fixed it by making the situation worse… Not a method I would recommend the next person with this issue do, but I’ll report back whether it works or not (and explain what I did). If it doesn’t work, I should be back to the state before adding the duplicate media provider. Definitely still interested in other suggestions, because if this works it will be mainly luck.

I’m fairly confident that I have album art again (all the one’s I’ve spot checked have worked properly).

What I did was…

After going through adding the duplicate media provider and deleting the original one, which still left the now playing screen not displaying album art, I checked the offline management page of the settings and saw that it was reporting 0 files as being cached. The offline cache still showed in the library, but just wasn’t “connected” to the settings. At this point I restored the backup I had made before beginning the process of trying to fix the album art (via 3rd party root app, rather than the backup tool built into Symfonium as it doesn’t restore the offline cache database). The restore process was taking quite a while, so I opened top to see if it was doing anything, and I saw that the kernel thread for reading / writing to the SD card was chugging away. Of course! I had forgotten that uninstalling Symfonium (restoring the backup included the apk, as I could not select restoring just the data) causes Android to delete all app’s files on the external storage as well. Crap… so I popped out the SD card the the restore prompt finished.

Now I’m a bit panicked… the cache I was trying to hard to preserve had been partially deleted, with no way of knowing what was deleted. After the app restore, I was back to the exact state before the attempted fix, with the offline cache database showing everything that was previously cached (including what was deleted).

I ran the clean up operation, which went through and removed the entries in the database for the songs that had been deleted from the SD card. I had also taken the time to make a playlist for tracks that were in the rolling cache and one for the permanent cache before begging this process, so I used a filter on the all albums page to display all the albums that were in the rolling cache playlist, selected all the albums, and then re-added them to the rolling cache.

Now the download queue is processing all those tracks (“confirming” the ones that are already on the SD card and downloading the ones that are missing). The queue is almost done processing now (taking a couple of hours rather than 6 or so hours that would have taken to actually download the full cache), and going through this process of “rebuilding” the cache database seems to have reconnected all the album artwork.

This method would probably have worked if I had removed a single album from the offline cache (so that when all the albums were selected before re-adding them to the cache, there was something not cached to enable the button to add to cache) and it would have processed through the queue the same.

TL;DR: So, in short, to fix this…. make a playlist of all your cache (do it separate for rolling and permanent, if you wish to preserve that distinction), manually remove something from cache, then re-add everything to cache and let it process. Then repeat for the other cache.

If, for some, reason I notice missing album artwork again, I’ll report back that this didn’t actually work… but it seems to have done the trick at this point.