Artist Images don't Sync with Navidrome

Issue description:

When I open the artist page in Symfonium the default artist image is shown. The navidrome logs show that that Symfonium is trying to get the images but gets an http 400
error.

If try curl to reproduce the request from Symfonium I get:

curl 'https://navidrome.lan/share/img/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFyLTg2YTI4OWEzNGE0NGNhMzYyNDRlOTJlODQ5MTkyNTE1IiwiaXNzIjoiTkQifQ.J4DQxrjwLQ-0yOYTlULK8ZKEzvP1EMUQIUtUekb6Bqw&u=[username]&t=[secretToken]&s=C21E0975BE14E5D42C38D469018E6F57&v=1.13.0&c=Symfonium&f=json'
unsupported format (layer: #1)

Do you have any idea, how I can resolve this? The app substreamer seems to get the artist images just fine.

Logs:

debug.zip (1.4 KB)

Screenshots:

Additional information:

Thanks so far for this awesome app!

Best regards
TheErik

The logs does not contains the sync so it’s hard to tell what mode you are in.

But this is Navidrome that gives this url and then fails, so navidrome logs probably have the reason.

In all cases in Symfonium there’s a provider option fetch additional metadata, try to remove the provider and add it again with the opposite of what you did last time.

Hmm, so I tried to delete/add the provider with additional metadata enabled. Still the same problem. I tried to isolate one sync request in the following truncated debug file. Maybe this helps.

debug.zip (775 Bytes)

This just show what I say Symfonium request the data that Navidrome returns. Check Navidrome logs

But try without that option as you probably had it enabled before too

Same behavior with extended Metadata disabled. The Navidrome logs look like this:

navidrome_1  | time="2023-10-12T19:16:08Z" level=warning msg="HTTP: GET http://navidrome.lan/share/img/eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6ImFyLWUzMzVjNGI4MjVmNGYzZDYxZWNiZGQ2Njk0YTA1NTNhIiwiaXNzIjoiTkQifQ.u1O-nwKB9XNdNvIeIo2_Uq4yjESsW9TIatqPIxA4z_M&u=[REDACTED]l&t=[REDACTED]&s=[REDACTED]&v=1.13.0&c=Symfonium&f=json" elapsedTime="66.732µs" httpStatus=400 remoteAddr=192.168.0.3 requestId=b0ed8f378858/L3ecEEHTYI-000150 responseSize=31 userAgent="Symfonium/5.9.0 (Linux;Android 13)"

Any further tips to debug this?

There’s probably more logs to enable to see why it fails.

But this is Navidrome error here @deluan is busy and not really available those days :frowning:

Not much I can workaround without breaking other things.

Hi,

so I tinkered a little bit with the request. I seems that navidrome does not like the

&u=[username]&t=[secretToken]&s=C21E0975BE14E5D42C38D469018E6F57&v=1.13.0&c=Symfonium&f=json'

part. When I remove this from the curl request, I can retrieve the artist image.

Maybe you can verify this?

Best regards
theErik

This is mandatory part of the API, only @deluan can fix why it does not work for you.

Hmm, my understanding is, that the API telling the client where it can download the artist pic. So this is just a simple HTTPS GET request without authentication.

Yes and no, this is a bugged part of Navidrome that returns invalid urls behind proxies and requires special handling.
Passing those parameters is working for other people including me and is necessary for some proxy to authenticate.

So I can remove the params and use the full url Navidrome send, you are fixed but hundreds of others are broken :wink:

Ok, I understand that. I’m using navidrome behind an apache2 webserver. So this might be the culprit?

Yes it can be it that return error 400, as I said I have no way to know, proxy logs and navidrome logs will tell you.

Allright, thank for your help.