Commit graph

16 commits

Author SHA1 Message Date
c3597454ac
zebra-report: deploy stacked layout below 1100px (kill cramped 3-col on iPad/split-screen) 2026-06-08 14:46:14 -04:00
a8b06b5907
zebra-report: deploy fresh-stream wrap on mic ontrack + mute-gate mesh swap
Fixes ticket 0001 (fedora chrome cannot hear speakers) — fox 2026-06-07
telemetry ruled out the sink hypothesis from 0f36e02 and pinned two
coupled defects:

  (A) tracks=0 race in handleRemoteSfuTrack mic branch — ev.streams[0]
      can be empty at handler-time even when ev.track is live; the
      silent <audio> fallback ate the listener.
  (B) Mesh ontrack swapped the worklet to the mesh stream even when
      the mesh track was still muted, orphaning the SFU receiver and
      trapping the listener on a silent mesh source.

Mic now mirrors screen/camera/game (new MediaStream([ev.track])) and
the mesh swap waits for 'unmute' / restores SFU after a mute window.

Source commit: caa0548 in zebra-report.git
2026-06-07 11:34:29 -04:00
3a0a30807e
zebra-report: deploy silent-listener fix + listener-bye-on-bfcache fix
Pulls in two upstream zebra-report commits:

  0ce1339 prefix-match in flushSfuStreams (kills the silent
          fedora-chrome listener: ontrack races peer-joined, cache
          keyed by 16-char streamID prefix, flush's strict-equality
          matcher never resolved short→full, listener heard nothing
          from anyone already in the room).

  5e8cdad send 'bye' on pagehide for listeners even when
          persisted=true (kills the closed-firefox-phone roster
          zombies sitting through the 120s readTimeout window).

Server-side backstop (60s listenerAliveTTL) ships separately in
proxy.unturf.com main; the client fix above stands on its own for
the common bye-arrives case.

Fox 2026-06-06: "rebooting fedora chrome blanka because it never
could hear any speakers for days now".
2026-06-06 14:48:09 -04:00
fb1fabc810
zebra-report: listener mute button doubles as audio-unlock gesture
Mirror of zebra-report 334ee82.
2026-06-03 20:57:18 -04:00
e09a1793b9
zebra-report: surface boot errors + watchFirstFrame keyframe diagnostic
Mirror of zebra-report 3ca9042 + proxy.unturf.com bc04362.

 - moderation: boot failures now log to the moderator's page instead
   of looking like the button did nothing (stale uuid case).
 - diagnostic: watchFirstFrame fires 'still black after 2500ms — no
   keyframe?' if a fresh SFU video tile never decodes a first frame.
 - proxy-side companion: longer keyframe-burst on subscriber attach
   so a dropped PLI no longer leaves the tile permanently black.
2026-06-03 15:51:39 -04:00
1e6a6a7c1b
zebra-report: dark default + theme toggle on every page — mirror source 8c90379 2026-06-01 22:18:12 -04:00
78329ea04d
zebra-report: mute remote screen tiles by default, add unmute button
Mirror source 2fd2ac3 — fixes mobile autoplay so phone listeners
actually see the video pixels (was a black tile because mobile blocks
autoplay of unmuted audio).
2026-06-01 20:02:13 -04:00
39b74ef622
zebra-report: ship local preview tile for screen-share publisher
Mirror zebra-spaces fix + refreshed page-integrity stamps from
git.unturf.com/engineering/unturf/zebra-report d9852e6.
2026-06-01 19:45:30 -04:00
a8b184b853
zebra-report: bump mobile body padding to 1.25rem 2026-05-31 14:13:34 -04:00
4e83197fbf
zebra-report: every page now mobile-friendly, no horizontal overflow 2026-05-31 13:52:40 -04:00
583db0ab97
zebra-report: deploy zebra-spaces v0.1 + refresh integrity stamps
New page: zebra-spaces.html — multi-party voice rooms (host, 2 co-hosts,
speakers, listeners) with persistent Ed25519 identity, password-vault
backup/restore, hand-raise → mic-invite → accept flow, and signed role
transitions enforced server-side. Pairs with the new zebra-spaces-signal
relay on cors-proxy.uncloseai.com.

Other pages (chat.html → index.html, zebra-audio.html, how-it-works.html,
host-your-own.html) refreshed because their integrity stamps rolled
today; nav links to zebra-spaces added on zebra-audio and host-your-own.
2026-05-31 11:07:38 -04:00
37d34013ef
zebra-report: secret TTS puppet console + host-your-own page
Deploy zebra-audio puppet console (triple-click footer seal: type -> TTS at
speech.ai.unturf.com -> into the call, send/stop) and the new host-your-own
page, plus nav links from chat (index) and how-it-works.
2026-05-29 15:18:00 -04:00
4ae59be669
zebra-report: auto-reconnect on drops + live mic-input switching 2026-05-28 21:29:55 -04:00
09ee274287
zebra-report: how-it-works — message encryption walkthrough 2026-05-28 17:58:25 -04:00
3ab9917115
zebra-report: integrity footer (build date + md5/sha256) on all pages 2026-05-28 17:50:21 -04:00
0a218c1a09
zebra-report: add how-it-works write-up + link from chat header 2026-05-28 12:50:36 -04:00