Web: lists load as you scroll, Liked tabs, missing files greyed and kept out of the queue #154
@@ -144,8 +144,7 @@ export function playQueue(
|
||||
// rotation-aware order, so no client shuffle in that path).
|
||||
_queueSource = opts.source ?? null;
|
||||
// #968: a fresh play replaces the self-heal closure + resets its budget.
|
||||
const refetch = opts.refetch;
|
||||
_queueRefetch = refetch ? () => refetch().then(playable) : null;
|
||||
_queueRefetch = opts.refetch ?? null;
|
||||
_selfHealAttempts = 0;
|
||||
// Start on the chosen track's place in the playable list; if the chosen
|
||||
// one is missing, that place holds the next playable track after it.
|
||||
@@ -376,7 +375,8 @@ function trySelfHeal(): boolean {
|
||||
_error = null;
|
||||
const refetch = _queueRefetch;
|
||||
void refetch()
|
||||
.then((refs) => {
|
||||
.then((fetched) => {
|
||||
const refs = playable(fetched);
|
||||
if (refs.length > 0) {
|
||||
// Re-seed in place — keep _queueSource / _queueRefetch so the new
|
||||
// snapshot can itself self-heal, and don't reset _selfHealAttempts
|
||||
|
||||
Reference in New Issue
Block a user