zebra-report/web
Russell Ballestrini 4ebf353e2f
zebra-spaces: tap-to-resume for Firefox Android autoplay block + kick clears auto-rejoin
Two fixes pulled from today's QA:

1. activateListenerAudio() existed in the page but was orphaned —
   never called from anywhere after a prior refactor. Wire it back
   via flagAudioBlocked(): when attachSfuTrack's play() promise
   rejects (Firefox Android autoplay block past the entry gesture
   window), set audioPlaybackBlocked=true, show a warn notice "Audio
   paused by browser. Tap anywhere to resume." and arm a single
   document-level click/touchstart listener. First tap fires
   activateListenerAudio() inside the gesture, retries play() on
   every paused element (rtc + stream), clears the notice.

   Telemetry that exposed this: phone showed
   `rtc[3110] rs=4 ns=1 pa=1 ct=0.00`  — element had data, network
   idle, paused, never started playing. No recovery path until the
   user reloaded.

   Scoped — the document-click handler is armed only while the flag
   is true, removed on first tap. Doesn't add noise to working
   sessions (which was why the prior tap-anywhere was reverted).

2. Kick clears sessionStorage[ACTIVE_CALL_KEY]. The confirm() text
   says "they can rejoin" — but that means MANUALLY (type the code,
   click enter), not automatically on a hard-refresh / bfcache
   restore via auto-rejoin. Fox 2026-06-04: "we have auto-join on
   the phone that is kicked just rejoins". Closes that loophole;
   victim can still re-enter manually.
2026-06-04 11:27:33 -04:00
..
blog phase 1: unfirehose reconstruction from session JSONL ingest 2026-05-27 13:51:14 -04:00
fonts phase 2: gap analysis — cat>> append + binary asset recovery 2026-05-27 13:54:19 -04:00
chat.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
host-your-own.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
how-it-works.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
index.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
kernel.html web: bump mobile body padding from 1rem to 1.25rem so the right edge has visible breathing room 2026-05-31 14:13:25 -04:00
stamp.js web: stamp each zebra-report page with build date + md5/sha256 2026-05-28 17:50:12 -04:00
zebra-audio.html zebra-spaces: listener mute button doubles as audio-unlock gesture 2026-06-03 20:57:09 -04:00
zebra-spaces.html zebra-spaces: tap-to-resume for Firefox Android autoplay block + kick clears auto-rejoin 2026-06-04 11:27:33 -04:00