From bfc207f21a2744e0c85cd8e2224a7a9bccf9fa41 Mon Sep 17 00:00:00 2001 From: dev Date: Fri, 19 Jun 2026 18:48:14 +0200 Subject: [PATCH] fix(ui): remove per-source 'Allow quality fallback' checkboxes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Quality fallback is now a global setting in the Quality Profile (ranked targets + fallback_enabled). The per-source allow_fallback checkboxes on Tidal, Qobuz, HiFi, Deezer and Amazon were misleading — they implied quality is still controlled per-source. Removed from HTML and settings.js read/save. Backend defaults to allow_fallback=True which is the correct behaviour. Co-Authored-By: Claude Sonnet 4.6 --- webui/index.html | 35 ----------------------------------- webui/static/settings.js | 14 +++----------- 2 files changed, 3 insertions(+), 46 deletions(-) diff --git a/webui/index.html b/webui/index.html index 0641e7a7..0a9a31c3 100644 --- a/webui/index.html +++ b/webui/index.html @@ -4743,13 +4743,6 @@
Quality is set globally in Quality Profile (ranked targets) — Tidal fetches the highest tier your profile accepts.
- -
- When disabled, only downloads at the exact derived quality. If unavailable, skips to the next source. -
@@ -4771,13 +4764,6 @@
Quality is set globally in Quality Profile (ranked targets) — Qobuz fetches the highest tier your profile accepts. Hi-Res requires a Qobuz Studio or Sublime subscription.
- -
- When disabled, only downloads at the exact quality selected. If unavailable, skips to the next source. -
@@ -4831,13 +4817,6 @@
Quality is set globally in Quality Profile (ranked targets) — HiFi fetches the highest tier your profile accepts. Uses public API instances — no account required.
- -
- When disabled, only downloads at the exact quality selected. If unavailable, skips to the next source. -
@@ -4873,13 +4852,6 @@
Quality is set globally in Quality Profile (ranked targets) — Deezer fetches the highest tier your profile accepts. FLAC requires a Deezer HiFi subscription.
- -
- When disabled, only downloads at the exact quality selected. If unavailable, skips to the next source. -
@@ -4909,13 +4881,6 @@
Quality is set globally in Quality Profile (ranked targets) — Amazon fetches FLAC (24-bit/48kHz Hi-Res) when your profile wants lossless, otherwise a lossy tier. Downloads via T2Tunes proxy.
- -
- Fall back to the next codec tier if the preferred one is unavailable. -
diff --git a/webui/static/settings.js b/webui/static/settings.js index 34d3f201..73a63134 100644 --- a/webui/static/settings.js +++ b/webui/static/settings.js @@ -1155,13 +1155,8 @@ async function loadSettingsData() { loadArtSourceOrder(settings); // Per-source download quality is now derived from the global Quality // Profile (ranked targets) — the per-source quality selects were removed. - document.getElementById('tidal-allow-fallback').checked = settings.tidal_download?.allow_fallback !== false; - document.getElementById('qobuz-allow-fallback').checked = settings.qobuz?.allow_fallback !== false; - document.getElementById('hifi-allow-fallback').checked = settings.hifi_download?.allow_fallback !== false; loadHiFiInstances(); - document.getElementById('deezer-allow-fallback').checked = settings.deezer_download?.allow_fallback !== false; document.getElementById('deezer-download-arl').value = settings.deezer_download?.arl || ''; - document.getElementById('amazon-allow-fallback').checked = settings.amazon_download?.allow_fallback !== false; document.getElementById('lidarr-url').value = settings.lidarr_download?.url || ''; document.getElementById('lidarr-api-key').value = settings.lidarr_download?.api_key || ''; const _prowUrl = document.getElementById('prowlarr-url'); @@ -2978,11 +2973,10 @@ async function saveSettings(quiet = false) { usenet_download_path: document.getElementById('usenet-download-path')?.value || '', }, tidal_download: { - // quality derived from the global Quality Profile (ranked targets) - allow_fallback: document.getElementById('tidal-allow-fallback').checked, + // quality derived from the global Quality Profile (ranked targets); allow_fallback always true }, hifi_download: { - allow_fallback: document.getElementById('hifi-allow-fallback').checked, + // quality derived from the global Quality Profile (ranked targets); allow_fallback always true }, hifi: { embed_tags: document.getElementById('embed-hifi').checked, @@ -2990,10 +2984,9 @@ async function saveSettings(quiet = false) { }, deezer_download: { arl: document.getElementById('deezer-download-arl').value || '', - allow_fallback: document.getElementById('deezer-allow-fallback').checked, }, amazon_download: { - allow_fallback: document.getElementById('amazon-allow-fallback').checked, + // quality derived from the global Quality Profile (ranked targets); allow_fallback always true }, lidarr_download: { url: document.getElementById('lidarr-url').value || '', @@ -3028,7 +3021,6 @@ async function saveSettings(quiet = false) { qobuz: { embed_tags: document.getElementById('embed-qobuz').checked, tags: _collectServiceTags('qobuz'), - allow_fallback: document.getElementById('qobuz-allow-fallback').checked, }, database: { max_workers: parseInt(document.getElementById('max-workers').value)