From d062e2a0678e8cc61ae9cb9dd757a1aa9054ed2d Mon Sep 17 00:00:00 2001 From: teahubxyz Date: Wed, 21 Oct 2026 03:43:39 +0000 Subject: [PATCH] a skip during the hold drops the waiting track instead of playing it Co-Authored-By: Claude Fable 5.1 Claude-Session: https://claude.ai/code/session_01K6897PWcUEwHiqZMcVnNF6 --- index.html | 1 + 1 file changed, 1 insertion(+) diff --git a/index.html b/index.html index 16d4444..9040e5b 100644 --- a/index.html +++ b/index.html @@ -1180,6 +1180,7 @@ state.audio.addEventListener("ended", () => { // the crackle finishing its loop with a track waiting: hand over right here, synchronously if (state.holding && state.pendingJob) { const job = state.pendingJob; state.pendingJob = null; state.holding = false; + if (state.current !== job) { const go = state.onHoldEnd; state.onHoldEnd = null; if (go) go(); state.playing = false; setPlayIcon(); swapNow(); advance(); return; } try { state.audio.loop = !!state.loop; state.audio.src = job.url || (job.url = URL.createObjectURL(job.blob)); const p = state.audio.play(); if (p && p.catch) p.catch(() => {}); job.preplayed = true; } catch {} const go = state.onHoldEnd; state.onHoldEnd = null; if (go) go(); return;