mirror of
https://github.com/streamyfin/streamyfin.git
synced 2026-06-16 19:00:28 +01:00
Tapping to reveal the controls showed them permanently — they never auto-hid after the inactivity timeout (CONTROLS_CONSTANTS.TIMEOUT). Root cause: useControlsTimeout was called with a hardcoded disabled: true (introduced in the KSPlayer work in #1266), so the auto-hide timer was never armed. Simply removing that override re-introduced a regression on iOS: the timer fired while the settings popover was open, dismissing it mid-interaction (subtitle / audio / speed selection), because on iOS the popover lives inside the controls and closes when they fade out. Surface the popover's open state through a small ControlsContext (rather than prop drilling through HeaderControls) and feed it to useControlsTimeout's disabled flag, so auto-hide pauses while the menu is open and re-arms once it closes. Android's menu is a separate global bottom-sheet modal, unaffected. Fixes #1243. Regression from #1266. Depends on #1621.