From a627129221e148cc5080399952585b8e1fc745a6 Mon Sep 17 00:00:00 2001 From: Nicolai Kuntze Date: Mon, 20 Jul 2026 17:32:47 +0200 Subject: [PATCH 1/7] Fix output-control popup not scrollable on mobile .output-control__inner capped its height with max-height on mobile but used overflow-y: visible, so a snapserver device/group list taller than the popup just overflowed off-screen with no way to scroll to it. Co-Authored-By: Claude Sonnet 5 --- src/scss/components/_output-control.scss | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/scss/components/_output-control.scss b/src/scss/components/_output-control.scss index 01b973137..b6f194242 100755 --- a/src/scss/components/_output-control.scss +++ b/src/scss/components/_output-control.scss @@ -284,7 +284,8 @@ padding: 0; border-radius: 0; max-height: calc(100vh - 140px); - overflow-y: visible; + overflow-y: auto; + -webkit-overflow-scrolling: touch; @include theme('dark') { box-shadow: 0 -5px 5px rgba(0, 0, 0, 0.6); From 4ad10b29eedaa56a8a0d36b1425e8b5edfd38c88 Mon Sep 17 00:00:00 2001 From: Nicolai Kuntze Date: Mon, 20 Jul 2026 18:32:57 +0200 Subject: [PATCH 2/7] Fix output-control popup top clipped behind mobile address bar max-height: calc(100vh - 140px) sizes the popup using the full layout viewport, which on mobile includes space the browser's address bar can occupy. When the address bar is visible, the actually-visible viewport is shorter than 100vh, so the popup (anchored to the bottom, growing upward) extends above what's visible, hiding its top row. Add a 100dvh override, which tracks the real visible viewport, after the 100vh fallback for browsers that don't support dvh. Co-Authored-By: Claude Sonnet 5 --- src/scss/components/_output-control.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/src/scss/components/_output-control.scss b/src/scss/components/_output-control.scss index b6f194242..6be0f9d98 100755 --- a/src/scss/components/_output-control.scss +++ b/src/scss/components/_output-control.scss @@ -284,6 +284,7 @@ padding: 0; border-radius: 0; max-height: calc(100vh - 140px); + max-height: calc(100dvh - 140px); overflow-y: auto; -webkit-overflow-scrolling: touch; From 21a647702006eb1793e666aa6a275eee2fb0dcb4 Mon Sep 17 00:00:00 2001 From: Nicolai Kuntze Date: Mon, 20 Jul 2026 20:16:51 +0200 Subject: [PATCH 3/7] Fix output-control popup unclosable when auto-expanded on mobile On mobile the popup only auto-opens via PlaybackControls expanding (force_expanded=true), which also hides the popup's own close button (display:none in CSS) and suppressed its own click-outside overlay. That left no way to dismiss just the output-control popup - only tapping in the empty space above it (collapsing the whole playback bar) worked. Always render the click-outside overlay regardless of force_expanded so the popup can close independently. Co-Authored-By: Claude Sonnet 5 --- src/js/components/Fields/OutputControl.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/js/components/Fields/OutputControl.js b/src/js/components/Fields/OutputControl.js index 0c4d334d9..f531aa12c 100755 --- a/src/js/components/Fields/OutputControl.js +++ b/src/js/components/Fields/OutputControl.js @@ -261,7 +261,7 @@ const OutputControl = ({ force_expanded }) => { if (expanded) { return ( - {!force_expanded &&
setExpanded(false)} />} +
setExpanded(false)} />