fix(web): filter a refetched mix inside the self-heal step, not by wrapping the closure (#5418)
release / govulncheck (push) Successful in 21s
release / web (push) Successful in 1m31s
release / go (push) Successful in 1m42s
release / android (push) Successful in 5m9s
release / Build signed APK (releases and dev) (push) Successful in 5m16s
release / integration (push) Successful in 17m42s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 22s
release / Verify release artifacts (tag releases only) (push) Skipped
release / govulncheck (push) Successful in 21s
release / web (push) Successful in 1m31s
release / go (push) Successful in 1m42s
release / android (push) Successful in 5m9s
release / Build signed APK (releases and dev) (push) Successful in 5m16s
release / integration (push) Successful in 17m42s
release / Attach APK to the Release (tag releases only) (push) Skipped
release / Build + push container image (push) Successful in 22s
release / Verify release artifacts (tag releases only) (push) Skipped
The wrapper added a promise hop, so the self-heal test's single microtask wait saw 'loading' instead of 'error'. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -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