Auto-Sync manager: exclude Last.fm Radio mirrors from the schedule board

Last.fm Radio playlists are seed-track-specific similar-tracks
snapshots — they don't update on the Last.fm side once generated,
so scheduling one for auto-refresh would just re-discover the
same 25 tracks every interval. The mirror still exists (visible
in the Mirrored tab) so the user can pull the downloads, but it
doesn't belong on the schedule board.

``autoSyncCanSchedulePlaylist`` now rejects ``source='lastfm'``
alongside the existing ``file`` + ``beatport`` exclusions.
Cosmetic-only on the frontend; backend mirror creation +
Mirrored tab listing are unchanged.
This commit is contained in:
Broque Thomas 2026-05-26 15:56:24 -07:00
parent cf5da04439
commit 862cedde9d

View file

@ -86,7 +86,16 @@ function autoSyncSourceLabel(source) {
}
function autoSyncCanSchedulePlaylist(playlist) {
return playlist && !['file', 'beatport'].includes(playlist.source || '');
if (!playlist) return false;
const src = playlist.source || '';
// ``file`` + ``beatport`` have no external refresh hook.
// ``lastfm`` is excluded because each Last.fm Radio playlist is a
// seed-track-specific similar-tracks snapshot that doesn't update
// on the Last.fm side — auto-syncing it would just re-discover the
// same 25 tracks every interval. Users mirror Last.fm radios once
// to grab the downloads, then move on; they belong in the
// Mirrored / Sync tab but not the Auto-Sync schedule board.
return !['file', 'beatport', 'lastfm'].includes(src);
}
function autoSyncIsPipelineAutomation(auto) {