From db6c00cbcf66d051f60c45ecd4e39e45dc7deca0 Mon Sep 17 00:00:00 2001 From: sravan Date: Tue, 3 Nov 2026 22:49:02 +0530 Subject: [PATCH] fix(meet): send peerId (not user id) to setTileZoom so screen zoom works MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Pinch-to-zoom on a received shared screen was a no-op on Android (and iOS). syncVideoTiles keys each native renderer by the tile's peerId (uid=id, the LiveKit identity since #12), but the pinch handler forwarded meetPeerUids.get(id) — the USER id — to setTileZoom. The plugin looked up the renderer by that mismatched key and found nothing, so the zoom transform never applied. Send `id` (the peerId), matching syncVideoTiles. Web-only fix; the native setTileZoom was already correct. Co-Authored-By: Claude Opus 4.8 --- server/public/home.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/public/home.html b/server/public/home.html index d75d7f2..7de6b25 100644 --- a/server/public/home.html +++ b/server/public/home.html @@ -6214,7 +6214,7 @@ function bzNativeStopTiles(){ if(!meetNative || !bzHolePunch) return null; const t=target&&target.closest&&target.closest('#meetGrid .meet-tile'); if(!t) return null; // a menu/button over the tile isn't inside it → no zoom const id=t.id.replace('meet-tile-',''); if(id==='__local' || !meetSharers.has(id)) return null; // only the shared screen - return { el:t, uid: meetPeerUids.get(id)||'' }; + return { el:t, uid: id }; // key MUST match syncVideoTiles' tile key = the peerId (LiveKit identity, #12), NOT meetPeerUids.get(id) (the user id) — else the plugin can't find the renderer to zoom } document.addEventListener('touchstart',(e)=>{ const s=pick(e.target); if(!s || !s.uid){ el=null; return; }