Skip to content

feat: add +10s seek forward button to admin control bar#499

Closed
Scribblerman wants to merge 2 commits intomholzi:mainfrom
Scribblerman:feat/seek-forward-button
Closed

feat: add +10s seek forward button to admin control bar#499
Scribblerman wants to merge 2 commits intomholzi:mainfrom
Scribblerman:feat/seek-forward-button

Conversation

@Scribblerman
Copy link
Copy Markdown

@Scribblerman Scribblerman commented Apr 5, 2026

Summary

  • Add ⏩ +10s seek forward button to admin control bar for skipping silent song intros
  • Add tooltips to all admin control bar buttons (stop, volume, next, end)
  • Add visible labels to volume up/down buttons ("Louder"/"Quieter")
  • Translations for all 5 languages (en, de, es, fr, nl)

Technical Details

  • MediaPlayerService.seek_forward() calculates actual position from HA's snapshot (media_position + elapsed since media_position_updated_at)
  • WebSocket handler seek_forward allowed in PLAYING and REVEAL phases
  • Button hidden in other phases (lobby, end)

Closes #498

Test plan

  • 5 unit tests for seek_forward() (correct position, defaults, error cases)
  • 5 unit tests for WebSocket handler (playing, reveal, lobby, default seconds, non-admin)
  • Manual test: button visible during playback, skips ~10s forward on Sonos via Music Assistant

🤖 Generated with Claude Code

Add a seek forward button that lets the admin skip 10 seconds ahead
during playback — useful for songs with long silent intros (especially
via YouTube Music). Also adds tooltips and visible labels to all admin
control bar buttons for better discoverability.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Copy link
Copy Markdown
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request adds a seek forward feature to the media player, allowing admins to skip 10 seconds ahead during playback. The changes span the backend state management, websocket communication, and frontend UI, including localized tooltips and unit tests. A potential issue was identified in the websocket handler where the 'seconds' input is cast to a float without validation, which could lead to unhandled exceptions.

Address review feedback: wrap float() conversion in try-except to
handle non-numeric input gracefully instead of crashing.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@mholzi
Copy link
Copy Markdown
Owner

mholzi commented Apr 10, 2026

Duplicate of #511 (already merged).

@mholzi mholzi closed this Apr 10, 2026
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.

feat: Add +10s seek forward button to admin control bar

3 participants