diff --git a/pkg/service/soundtouchweb/static/js/components/PlayURL.js b/pkg/service/soundtouchweb/static/js/components/PlayURL.js index e32327f..d04cdc8 100644 --- a/pkg/service/soundtouchweb/static/js/components/PlayURL.js +++ b/pkg/service/soundtouchweb/static/js/components/PlayURL.js @@ -41,7 +41,10 @@ export function PlayURL({ devices, serverServiceUrl }) { setPendingPlay(null); setStatus('Playing…'); try { - const resp = await api.playURL(deviceId, item.url, item.name, '', serviceUrl.trim()); + // When configured server-side, that value wins; send it so a stale + // localStorage override never matters. + const effectiveServiceUrl = serverServiceUrl || serviceUrl.trim(); + const resp = await api.playURL(deviceId, item.url, item.name, '', effectiveServiceUrl); setStatus(resp.success ? 'Playing — use ★ on the device page to save as preset' : 'Error: ' + (resp.error || 'Unknown error')); } catch (e) { setStatus('Error: ' + e.message); @@ -77,11 +80,15 @@ export function PlayURL({ devices, serverServiceUrl }) { type="url" class="tunein-search-input" placeholder="AfterTouch URL (https://…)" - value=${serviceUrl} + value=${serverServiceUrl || serviceUrl} onInput=${(e) => onServiceUrlChange(e.target.value)} + readonly=${!!serverServiceUrl} title="AfterTouch service base URL — required for LOCAL_INTERNET_RADIO playback and preset save" /> + ${serverServiceUrl + ? html`
` + : null} ${status && html``} ${pendingPlay ? html`