From 96e2c2e3cf4d370c3e1837366035a347d8e04082 Mon Sep 17 00:00:00 2001 From: Tobias Gesellchen Date: Sat, 23 May 2026 14:58:34 +0200 Subject: [PATCH] fix(web): restore SourceAccount guard in HandleDevicePlay MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The guard was accidentally placed in HandlePlayRadioBrowser instead of HandleDevicePlay in the initial fix commit, then removed from there by the build-fix commit — leaving HandleDevicePlay with no guard at all. Co-Authored-By: Claude Sonnet 4.6 --- pkg/service/soundtouchweb/handler.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/pkg/service/soundtouchweb/handler.go b/pkg/service/soundtouchweb/handler.go index b3510b1..b28d497 100644 --- a/pkg/service/soundtouchweb/handler.go +++ b/pkg/service/soundtouchweb/handler.go @@ -1038,6 +1038,11 @@ func (app *WebApp) HandleDevicePlay(w http.ResponseWriter, r *http.Request) { ContainerArt: req.ContainerArt, IsPresetable: req.IsPresetable, } + // Only pass SourceAccount when it's a real credential, not the placeholder + // value that speakers echo back (source name == source account, e.g. "TUNEIN"). + if req.SourceAccount != "" && req.SourceAccount != req.Source { + contentItem.SourceAccount = req.SourceAccount + } if err := device.Client.SelectContentItem(contentItem); err != nil { app.sendError(w, err.Error(), http.StatusInternalServerError)