From 3a07426994a31afef0dce950198768e27ca25f5e Mon Sep 17 00:00:00 2001 From: Russell Ballestrini Date: Sun, 31 May 2026 13:54:23 -0400 Subject: [PATCH] zebra-spaces: own mute flips own mic icon MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit mic-state broadcasts only inform OTHER peers, so the local view of our own member row stayed muted=false forever — the green mic-on icon never flipped to the red cross when the host (or any speaker) muted. Set members.get(myUUID).muted before sendMicState so renderRoom reflects it immediately on our own row. --- web/zebra-spaces.html | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/web/zebra-spaces.html b/web/zebra-spaces.html index ddf56de..d511686 100644 --- a/web/zebra-spaces.html +++ b/web/zebra-spaces.html @@ -1164,6 +1164,10 @@ $('btn-mute').addEventListener('click', () => { micStream.getAudioTracks().forEach(t=>t.enabled=!muted); $('btn-mute').textContent = muted ? 'unmute' : 'mute'; $('btn-mute').className = muted ? 'invert' : ''; + /* flip our own mic icon — mic-state broadcasts inform OTHER peers, but + * without this our own row never updates locally */ + const mm = members.get(myUUID); + if (mm){ mm.muted = muted; renderRoom(); } sendMicState(); }); $('mic-select').addEventListener('change', async (e) => { @@ -1211,8 +1215,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');