From 31bb90293a42c3f773fadc307cc7910d6272a08b Mon Sep 17 00:00:00 2001 From: "russell@unturf.com" Date: Wed, 3 Jun 2026 20:19:01 -0400 Subject: [PATCH] zebra-report: tap-resume reload + log retry result Calls a.load() inside the gesture before a.play() so the retry isn't no-op'ing on an aborted element. Adds 'click' to the listened events since Firefox Android only grants gesture-activation on click in some configs. Logs retry success/failure so we know what's happening. --- zebra-report/zebra-spaces.html | 48 +++++++++++++++++++++++++--------- 1 file changed, 35 insertions(+), 13 deletions(-) diff --git a/zebra-report/zebra-spaces.html b/zebra-report/zebra-spaces.html index b8e2aca..500c612 100644 --- a/zebra-report/zebra-spaces.html +++ b/zebra-report/zebra-spaces.html @@ -4058,24 +4058,46 @@ function streamUrlFor(pubHex){ * once. Idempotent install. */ const pendingAutoplay = new Set(); let tapResumeInstalled = false; +let tapResumeRetry = null; +function uninstallTapResume(){ + if (!tapResumeInstalled || !tapResumeRetry) return; + document.removeEventListener('pointerdown', tapResumeRetry); + document.removeEventListener('touchstart', tapResumeRetry); + document.removeEventListener('click', tapResumeRetry); + tapResumeInstalled = false; tapResumeRetry = null; +} function installTapResume(){ if (tapResumeInstalled) return; tapResumeInstalled = true; - const retry = () => { - if (!pendingAutoplay.size) return; + tapResumeRetry = () => { + if (!pendingAutoplay.size){ uninstallTapResume(); return; } + /* The prior load was aborted by the browser when it denied + * autoplay; the