Skip to content

Fix/mobile output control popup - #1019

Open
FlatterAtMainz wants to merge 3 commits into
jaedb:masterfrom
FlatterAtMainz:fix/mobile-output-control-popup
Open

Fix/mobile output control popup#1019
FlatterAtMainz wants to merge 3 commits into
jaedb:masterfrom
FlatterAtMainz:fix/mobile-output-control-popup

Conversation

@FlatterAtMainz

Copy link
Copy Markdown

Fixes three issues with the Snapcast output-control popup on mobile:

  • Device/group list wasn't scrollable when content exceeded the popup's
    max-height (overflow-y was visible instead of auto).
  • The popup's top row could be hidden behind the browser's address bar,
    since 100vh doesn't account for it; added a 100dvh override.
  • The popup had no way to close itself once opened via the playback
    bar's auto-expand path (force_expanded), since that path hid its
    close button and suppressed its own click-outside overlay.

All three fixes tested live against a Mopidy/Snapcast deployment.

FlatterAtMainz and others added 3 commits July 20, 2026 17:32
.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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
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 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant