mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-08 17:06:15 -08:00
Same root cause as the modal-dialog occlusion: control popovers (volume, audio, subtitle, speed, aspect) extend upward from the controls strip into the area covered by the MPV NSView. They render in DOM but the native view paints over them. Replace the simple boolean overlayActiveProvider with a richer boundsProvider closure on the session controller. The component drives it from both the modal overlay state and the popover menu state: - Modal dialog open (command palette, MatDialog) -> HIDDEN_BOUNDS, MPV fully off-screen so the dialog has the whole window. - Popover menu open -> shrink MPV from the bottom by 300 px so the popover region lives in DOM-receiving space; video keeps playing in the upper region instead of disappearing entirely. - Otherwise -> full host bounds. Bounds-resync effect now tracks menus.anyOpen() in addition to overlayActive() so opening or closing a popover triggers an immediate re-sync. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Entire-Checkpoint: f957cd9849e0