zebra-report/web
Russell Ballestrini 1e8464e7af
zebra-spaces: don't auto-rebuild screen publish PC — needs user gesture
Bug surfaced in CLIENT_LOG telemetry from a real session: when the
host's screen publish PC hit ICE failure, the watchPublishPC auto-
rebuilder called sfuPublishScreen() which immediately failed with
'getDisplayMedia requires transient activation from a user gesture.'
The auto-call path has no click, so getDisplayMedia can never succeed
from there.

Match the game-share pattern: on 'failed' tear down the dead PC + log
a clear 'tap share screen to re-share' message + clear state via
sfuUnpublishScreen(). User clicks the share button → picker opens (the
click IS the gesture) → fresh publish PC.

Mic + camera keep their auto-rebuild because getUserMedia honors the
persisted permission grant, no gesture needed.
2026-06-03 12:45:38 -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 css: .row uses minmax(0, max-content) so long labels shrink + wrap 2026-06-02 09:27:55 -04:00
host-your-own.html zebra: dark mode default on all pages + unified theme key 2026-06-01 22:18:02 -04:00
how-it-works.html zebra: dark mode default on all pages + unified theme key 2026-06-01 22:18:02 -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 css: .row uses minmax(0, max-content) so long labels shrink + wrap 2026-06-02 09:27:55 -04:00
zebra-spaces.html zebra-spaces: don't auto-rebuild screen publish PC — needs user gesture 2026-06-03 12:45:38 -04:00