fix(meet): send peerId (not user id) to setTileZoom so screen zoom works

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 <noreply@anthropic.com>
This commit is contained in:
SravanandClaude Opus 4.8 committed 2026-11-03 22:49:02 +05:30
1 parent 1e01130c6f
commit db6c00cbcf
1 file changed
+1 -1
+1 -1
View File
@@ -6214,7 +6214,7 @@ function bzNativeStopTiles(){
if(!meetNative || !bzHolePunch) return null; 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 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 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)=>{ document.addEventListener('touchstart',(e)=>{
const s=pick(e.target); if(!s || !s.uid){ el=null; return; } const s=pick(e.target); if(!s || !s.uid){ el=null; return; }