diff --git a/webui/static/settings.js b/webui/static/settings.js index c641ea1c..cee5fc27 100644 --- a/webui/static/settings.js +++ b/webui/static/settings.js @@ -1711,15 +1711,13 @@ function updateDownloadSourceUI() { prowlarrRedirect.style.display = showProwlarr ? 'block' : 'none'; } - // Quality profile is Soulseek-only and downloads-tab-only. Gate the whole - // collapsible tile (header + body) — gating just the inner #quality-profile-section - // left the tile header expandable to an empty body. - const qualityProfileTile = document.getElementById('quality-profile-tile'); - if (qualityProfileTile) { - const activeTab = document.querySelector('.stg-tab.active'); - const onDownloadsTab = activeTab && activeTab.dataset.tab === 'downloads'; - qualityProfileTile.style.display = (activeSources.has('soulseek') && onDownloadsTab) ? '' : 'none'; - } + // Quality Profile tile visibility is handled entirely by the settings tab + // filter (data-stg="downloads" on #quality-profile-tile) — the same mechanism + // the Retry Logic tile uses. The old Soulseek-only JS gate fought the tab + // filter for control of `display` and, depending on activeSources/tab timing, + // left the tile either empty (when it gated the inner group) or fully hidden + // (when it gated the wrapper). Letting the tab filter own visibility makes it + // behave exactly like the working Retry Logic tile. if (activeSources.has('tidal')) { checkTidalDownloadAuthStatus();