#814 — the collapsed Batches rail (44px) hid .adl-batch-active and .adl-batch-history-section but NOT the JS-rendered .adl-batch-summary line ("N batches · M downloading · …"), so it overflowed as clipped text. Added it to the collapsed hide rule. #815 — "Retry Failed" only toasted "Retrying N…" at the start and a generic "Discovery complete!" at the end, with no sense of how many of the retried tracks actually progressed. retryFailedMirroredDiscovery now stamps a baseline (matches-before + retry count) on the state, and a shared completion toast reports "Retry complete: X of N newly found[, Y still not found]" instead of the generic message. Normal (non-retry) discovery still shows "Discovery complete!". JS syntax clean, 70 script-split/style tests pass.
This commit is contained in:
parent
40e3dac881
commit
902eb38fb8
3 changed files with 31 additions and 3 deletions
|
|
@ -1678,6 +1678,12 @@ async function retryFailedMirroredDiscovery(urlHash) {
|
||||||
state.phase = 'discovering';
|
state.phase = 'discovering';
|
||||||
state.status = 'discovering';
|
state.status = 'discovering';
|
||||||
state.discovery_progress = 0;
|
state.discovery_progress = 0;
|
||||||
|
// #815: stamp a baseline so the completion toast can report how many
|
||||||
|
// of these retried tracks were newly found (not just overall matched).
|
||||||
|
state._retryDiscovery = {
|
||||||
|
matchesBefore: state.spotify_matches || 0,
|
||||||
|
retryCount: data.retry_count,
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
// Update modal buttons to show discovering state
|
// Update modal buttons to show discovering state
|
||||||
|
|
|
||||||
|
|
@ -59389,7 +59389,11 @@ body.reduce-effects #page-particles-canvas {
|
||||||
}
|
}
|
||||||
|
|
||||||
.adl-batch-panel.collapsed .adl-batch-active,
|
.adl-batch-panel.collapsed .adl-batch-active,
|
||||||
.adl-batch-panel.collapsed .adl-batch-history-section {
|
.adl-batch-panel.collapsed .adl-batch-history-section,
|
||||||
|
/* The active-batches summary line ("N batches · M downloading · …") is shown
|
||||||
|
via JS and was NOT hidden on collapse, so it overflowed the 44px rail as
|
||||||
|
clipped text (#814). Hide it with the rest of the panel body. */
|
||||||
|
.adl-batch-panel.collapsed .adl-batch-summary {
|
||||||
display: none;
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -9248,6 +9248,24 @@ async function startYouTubeDiscovery(urlHash) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Discovery-complete toast. For a "Retry Failed" run (#815) it reports how many
|
||||||
|
// of the retried tracks were newly found this attempt, instead of the generic
|
||||||
|
// message — the baseline is stamped on the state by retryFailedMirroredDiscovery.
|
||||||
|
function _discoveryCompleteToast(urlHash) {
|
||||||
|
const st = youtubePlaylistStates[urlHash];
|
||||||
|
const retry = st && st._retryDiscovery;
|
||||||
|
if (retry) {
|
||||||
|
const found = Math.max(0, (st.spotify_matches || 0) - (retry.matchesBefore || 0));
|
||||||
|
const stillFailed = Math.max(0, (retry.retryCount || 0) - found);
|
||||||
|
delete st._retryDiscovery;
|
||||||
|
let msg = `Retry complete: ${found} of ${retry.retryCount} newly found`;
|
||||||
|
if (stillFailed > 0) msg += `, ${stillFailed} still not found`;
|
||||||
|
showToast(msg, found > 0 ? 'success' : 'info');
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
showToast('Discovery complete!', 'success');
|
||||||
|
}
|
||||||
|
|
||||||
function startYouTubeDiscoveryPolling(urlHash) {
|
function startYouTubeDiscoveryPolling(urlHash) {
|
||||||
// Stop any existing polling
|
// Stop any existing polling
|
||||||
if (activeYouTubePollers[urlHash]) {
|
if (activeYouTubePollers[urlHash]) {
|
||||||
|
|
@ -9274,7 +9292,7 @@ function startYouTubeDiscoveryPolling(urlHash) {
|
||||||
if (st) st.phase = 'discovered';
|
if (st) st.phase = 'discovered';
|
||||||
updateYouTubeCardPhase(urlHash, 'discovered');
|
updateYouTubeCardPhase(urlHash, 'discovered');
|
||||||
updateYouTubeModalButtons(urlHash, 'discovered');
|
updateYouTubeModalButtons(urlHash, 'discovered');
|
||||||
showToast('Discovery complete!', 'success');
|
_discoveryCompleteToast(urlHash);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -9322,7 +9340,7 @@ function startYouTubeDiscoveryPolling(urlHash) {
|
||||||
updateYouTubeModalButtons(urlHash, 'discovered');
|
updateYouTubeModalButtons(urlHash, 'discovered');
|
||||||
|
|
||||||
console.log('✅ Discovery complete:', urlHash);
|
console.log('✅ Discovery complete:', urlHash);
|
||||||
showToast('Discovery complete!', 'success');
|
_discoveryCompleteToast(urlHash);
|
||||||
}
|
}
|
||||||
|
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue