fix(ui): remove per-source 'Allow quality fallback' checkboxes
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 <noreply@anthropic.com>
This commit is contained in:
parent
b761229a00
commit
bfc207f21a
2 changed files with 3 additions and 46 deletions
|
|
@ -4743,13 +4743,6 @@
|
||||||
<div class="setting-help-text">
|
<div class="setting-help-text">
|
||||||
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Tidal fetches the highest tier your profile accepts.
|
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Tidal fetches the highest tier your profile accepts.
|
||||||
</div>
|
</div>
|
||||||
<label class="checkbox-inline" style="margin-top: 8px;">
|
|
||||||
<input type="checkbox" id="tidal-allow-fallback" checked>
|
|
||||||
Allow quality fallback
|
|
||||||
</label>
|
|
||||||
<div class="setting-help-text">
|
|
||||||
When disabled, only downloads at the exact derived quality. If unavailable, skips to the next source.
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Tidal Download Auth:</label>
|
<label>Tidal Download Auth:</label>
|
||||||
|
|
@ -4771,13 +4764,6 @@
|
||||||
<div class="setting-help-text">
|
<div class="setting-help-text">
|
||||||
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Qobuz fetches the highest tier your profile accepts. Hi-Res requires a Qobuz Studio or Sublime subscription.
|
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Qobuz fetches the highest tier your profile accepts. Hi-Res requires a Qobuz Studio or Sublime subscription.
|
||||||
</div>
|
</div>
|
||||||
<label class="checkbox-inline" style="margin-top: 8px;">
|
|
||||||
<input type="checkbox" id="qobuz-allow-fallback" checked>
|
|
||||||
Allow quality fallback
|
|
||||||
</label>
|
|
||||||
<div class="setting-help-text">
|
|
||||||
When disabled, only downloads at the exact quality selected. If unavailable, skips to the next source.
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Qobuz Account:</label>
|
<label>Qobuz Account:</label>
|
||||||
|
|
@ -4831,13 +4817,6 @@
|
||||||
<div class="setting-help-text">
|
<div class="setting-help-text">
|
||||||
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — HiFi fetches the highest tier your profile accepts. Uses public API instances — no account required.
|
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — HiFi fetches the highest tier your profile accepts. Uses public API instances — no account required.
|
||||||
</div>
|
</div>
|
||||||
<label class="checkbox-inline" style="margin-top: 8px;">
|
|
||||||
<input type="checkbox" id="hifi-allow-fallback" checked>
|
|
||||||
Allow quality fallback
|
|
||||||
</label>
|
|
||||||
<div class="setting-help-text">
|
|
||||||
When disabled, only downloads at the exact quality selected. If unavailable, skips to the next source.
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>HiFi Status:</label>
|
<label>HiFi Status:</label>
|
||||||
|
|
@ -4873,13 +4852,6 @@
|
||||||
<div class="setting-help-text">
|
<div class="setting-help-text">
|
||||||
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Deezer fetches the highest tier your profile accepts. FLAC requires a Deezer HiFi subscription.
|
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Deezer fetches the highest tier your profile accepts. FLAC requires a Deezer HiFi subscription.
|
||||||
</div>
|
</div>
|
||||||
<label class="checkbox-inline" style="margin-top: 8px;">
|
|
||||||
<input type="checkbox" id="deezer-allow-fallback" checked>
|
|
||||||
Allow quality fallback
|
|
||||||
</label>
|
|
||||||
<div class="setting-help-text">
|
|
||||||
When disabled, only downloads at the exact quality selected. If unavailable, skips to the next source.
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Deezer ARL Token:</label>
|
<label>Deezer ARL Token:</label>
|
||||||
|
|
@ -4909,13 +4881,6 @@
|
||||||
<div class="setting-help-text">
|
<div class="setting-help-text">
|
||||||
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Amazon fetches FLAC (24-bit/48kHz Hi-Res) when your profile wants lossless, otherwise a lossy tier. Downloads via T2Tunes proxy.
|
Quality is set globally in <strong>Quality Profile</strong> (ranked targets) — Amazon fetches FLAC (24-bit/48kHz Hi-Res) when your profile wants lossless, otherwise a lossy tier. Downloads via T2Tunes proxy.
|
||||||
</div>
|
</div>
|
||||||
<label class="checkbox-inline" style="margin-top: 8px;">
|
|
||||||
<input type="checkbox" id="amazon-allow-fallback" checked>
|
|
||||||
Allow quality fallback
|
|
||||||
</label>
|
|
||||||
<div class="setting-help-text">
|
|
||||||
Fall back to the next codec tier if the preferred one is unavailable.
|
|
||||||
</div>
|
|
||||||
</div>
|
</div>
|
||||||
<div class="form-group">
|
<div class="form-group">
|
||||||
<label>Connection:</label>
|
<label>Connection:</label>
|
||||||
|
|
|
||||||
|
|
@ -1155,13 +1155,8 @@ async function loadSettingsData() {
|
||||||
loadArtSourceOrder(settings);
|
loadArtSourceOrder(settings);
|
||||||
// Per-source download quality is now derived from the global Quality
|
// Per-source download quality is now derived from the global Quality
|
||||||
// Profile (ranked targets) — the per-source quality selects were removed.
|
// 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();
|
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('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-url').value = settings.lidarr_download?.url || '';
|
||||||
document.getElementById('lidarr-api-key').value = settings.lidarr_download?.api_key || '';
|
document.getElementById('lidarr-api-key').value = settings.lidarr_download?.api_key || '';
|
||||||
const _prowUrl = document.getElementById('prowlarr-url');
|
const _prowUrl = document.getElementById('prowlarr-url');
|
||||||
|
|
@ -2978,11 +2973,10 @@ async function saveSettings(quiet = false) {
|
||||||
usenet_download_path: document.getElementById('usenet-download-path')?.value || '',
|
usenet_download_path: document.getElementById('usenet-download-path')?.value || '',
|
||||||
},
|
},
|
||||||
tidal_download: {
|
tidal_download: {
|
||||||
// quality derived from the global Quality Profile (ranked targets)
|
// quality derived from the global Quality Profile (ranked targets); allow_fallback always true
|
||||||
allow_fallback: document.getElementById('tidal-allow-fallback').checked,
|
|
||||||
},
|
},
|
||||||
hifi_download: {
|
hifi_download: {
|
||||||
allow_fallback: document.getElementById('hifi-allow-fallback').checked,
|
// quality derived from the global Quality Profile (ranked targets); allow_fallback always true
|
||||||
},
|
},
|
||||||
hifi: {
|
hifi: {
|
||||||
embed_tags: document.getElementById('embed-hifi').checked,
|
embed_tags: document.getElementById('embed-hifi').checked,
|
||||||
|
|
@ -2990,10 +2984,9 @@ async function saveSettings(quiet = false) {
|
||||||
},
|
},
|
||||||
deezer_download: {
|
deezer_download: {
|
||||||
arl: document.getElementById('deezer-download-arl').value || '',
|
arl: document.getElementById('deezer-download-arl').value || '',
|
||||||
allow_fallback: document.getElementById('deezer-allow-fallback').checked,
|
|
||||||
},
|
},
|
||||||
amazon_download: {
|
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: {
|
lidarr_download: {
|
||||||
url: document.getElementById('lidarr-url').value || '',
|
url: document.getElementById('lidarr-url').value || '',
|
||||||
|
|
@ -3028,7 +3021,6 @@ async function saveSettings(quiet = false) {
|
||||||
qobuz: {
|
qobuz: {
|
||||||
embed_tags: document.getElementById('embed-qobuz').checked,
|
embed_tags: document.getElementById('embed-qobuz').checked,
|
||||||
tags: _collectServiceTags('qobuz'),
|
tags: _collectServiceTags('qobuz'),
|
||||||
allow_fallback: document.getElementById('qobuz-allow-fallback').checked,
|
|
||||||
},
|
},
|
||||||
database: {
|
database: {
|
||||||
max_workers: parseInt(document.getElementById('max-workers').value)
|
max_workers: parseInt(document.getElementById('max-workers').value)
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue