feat(subsonic): add coverArt to internetRadioStation response

Add OpenSubsonic coverArt extension to GetInternetRadios, showing
uploaded radio images for non-legacy clients.

Ref: https://github.com/opensubsonic/open-subsonic-api/pull/224
Signed-off-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Deluan
2026-03-22 15:20:15 -04:00
parent cb396f3dba
commit 03608d3eef
3 changed files with 167 additions and 4 deletions
+12
View File
@@ -2,8 +2,11 @@ package subsonic
import (
"net/http"
"strings"
"github.com/navidrome/navidrome/conf"
"github.com/navidrome/navidrome/model"
"github.com/navidrome/navidrome/model/request"
"github.com/navidrome/navidrome/server/subsonic/responses"
"github.com/navidrome/navidrome/utils/req"
)
@@ -66,6 +69,15 @@ func (api *Router) GetInternetRadios(r *http.Request) (*responses.Subsonic, erro
StreamUrl: g.StreamUrl,
HomepageUrl: g.HomePageUrl,
}
player, _ := request.PlayerFrom(ctx)
if strings.Contains(conf.Server.Subsonic.LegacyClients, player.Client) {
continue
}
// Add coverArt if not legacy client
res[i].OpenSubsonicRadio = &responses.OpenSubsonicRadio{
CoverArt: g.UploadedImage,
}
}
response := newResponse()