Commit Graph

3 Commits

Author SHA1 Message Date
Jeff Emmett 65c4a1acf0 feat(shared-media): show volume controls to all participants
Previously only the media owner could see playback controls (including
volume). Now all participants see native controls so they can adjust
their local volume independently. Playback sync still overrides
non-owner play/pause/seek actions.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 15:29:02 -04:00
Jeff Emmett 751a04b950 feat(shared-music): display YouTube video in tile view with controls
- Add SharedMusicTile component for rendering video in filmstrip
- Create fake participant for shared music (shows as tile, not pinned)
- Make YouTube player visible with proper dimensions in tile
- Remove auto-mute behavior when sharing music
- Add SharedMusic to FakeParticipant enum
- Add isSharedMusicParticipant helper function
- Move player rendering from LargeVideo to tile
- Add CSS styles for player wrapper and controls overlay

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:29:59 +00:00
Jeff Emmett 1c9fed8794 feat(shared-music): add synchronized music playback feature
Add a new shared-music feature that allows users to share YouTube or
direct audio URLs with all participants. Music plays locally on each
device with the host controlling playback (play/pause/seek/volume).

New feature module includes:
- Redux state management (actions, reducer, middleware)
- Conference command sync for real-time playback coordination
- YouTube player (hidden video, audio only) via react-youtube
- HTML5 audio player for direct audio URLs
- Toolbar button with share dialog
- Translation strings for all UI elements

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-28 18:43:22 +00:00