diff --git a/zebra-report/zebra-spaces.html b/zebra-report/zebra-spaces.html index 8bdd112..e955888 100644 --- a/zebra-report/zebra-spaces.html +++ b/zebra-report/zebra-spaces.html @@ -3843,18 +3843,9 @@ function updateScreenShareUI(){ function updateRoleUI(){ $('sec-listener-actions').classList.toggle('hidden', myRole !== 'listener'); updateScreenShareUI(); - /* Listener mute-button repurposed as the audio-unlock gesture + - * local output toggle. Enabled regardless of micStream so a - * listener can tap it to provide the user gesture mobile browsers - * demand before unmuted audio is allowed. Speakers/cohosts/host - * still get the original self-mic-mute behavior (enabled by - * ensureMicAndUI once the mic is live). */ - const btn = $('btn-mute'); - if (myRole === 'listener'){ - btn.disabled = false; - btn.textContent = listenerOutputMuted ? 'play' : 'mute'; - btn.className = listenerOutputMuted ? '' : 'invert'; - } + /* Listeners have no mic — mute button stays disabled. WebRTC + * playback is autoplayed by attachSfuTrack the same way speakers + * get their inbound mesh/SFU audio; no second-gesture button. */ } /* ================================================================== @@ -4635,21 +4626,6 @@ function applyMuteState(){ if (mm){ mm.muted = muted; renderRoom(); } } $('btn-mute').addEventListener('click', () => { - /* Listener path: this click is the user gesture mobile browsers - * demand before unmuted audio is allowed. attachSfuTrack already - * called play() for every WebRTC audio element on attach — that - * call may have silently been rejected (Firefox Android ages out - * the entry-button gesture grace fast). Re-fire play() on each - * existing element inside THIS gesture; one of these tries is - * the one that actually unblocks the speaker output. */ - if (myRole === 'listener'){ - listenerOutputMuted = !listenerOutputMuted; - activateListenerAudio(); - const btn = $('btn-mute'); - btn.textContent = listenerOutputMuted ? 'play' : 'mute'; - btn.className = listenerOutputMuted ? '' : 'invert'; - return; - } if (!micStream) return; muted = !muted; try { sessionStorage.setItem(MUTE_STATE_KEY, muted ? '1' : '0'); } catch(_){} @@ -4904,8 +4880,8 @@ logLine('', 'ready — pick a handle, type a rendezvous code, enter the space');