From f2efff394b00393b8bbd073c5dc88e5a0bc03010 Mon Sep 17 00:00:00 2001 From: sravan Date: Fri, 7 Aug 2026 11:03:35 +0530 Subject: [PATCH] Fix: dock the meeting bar on native calls (decouple it from the shared screen) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The control bar is a draggable FLOATING bar (position:fixed when moved/ restored) meant to sit over the shared screen — which works on web (video is DOM) but on a native call the screen is a native overlay ABOVE the WebView, so the floating bar hides behind it, and its live position fed my height clamp → dragging it resized/reoriented the screen. Fix: skip makeDraggable on native calls so the bar stays DOCKED in flow at the bottom. The grid then reserves space above it and the native shared screen fills that stable area — bar and screen are independent, controls stay visible and tappable. (A floating bar that overlays the native video would require a hole-punch rework.) Co-Authored-By: Claude Opus 4.8 --- server/public/home.html | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/server/public/home.html b/server/public/home.html index 8faca6e..d69fe93 100644 --- a/server/public/home.html +++ b/server/public/home.html @@ -4918,7 +4918,10 @@ function renderCall(){ addTile('__local', meetLocalStream, (ME&&ME.name)?ME.name:'You', true); setTileMute('__local', !meetMic); detectBtOutput(); // #8d: pick the right speaker/bluetooth glyph for the current route - makeDraggable(document.querySelector('.meet-bar'), 'bzc_meetbar_pos'); // new #4: bar covers the shared screen → let them move it + // Draggable floating bar (so it can be moved off a shared screen) — WEB calls only. On a native call the + // shared screen is a native overlay ABOVE the WebView, so a floating web bar would hide behind it; instead we + // keep the bar DOCKED at the bottom (in flow) and the native screen fills the stable area above it. + if(!meetNative) makeDraggable(document.querySelector('.meet-bar'), 'bzc_meetbar_pos'); } // ---- Audio devices (#3): one menu behind the MIC's ▾ caret, listing Speaker + Microphone (like Teams), // instead of a separate headphones button. Choosing a speaker applies setSinkId to every meeting media