Commit Graph

14 Commits

Author SHA1 Message Date
Jeff Emmett bddd22453c fix(mobile): comprehensive mobile rendering fixes for all platforms
- index.html: add viewport-fit=cover, user-scalable=no, maximum-scale=1,
  apple-mobile-web-app-capable, format-detection meta tags
- close2.html: add missing viewport meta tag and mobile web app tags
- _base.scss: add touch-action:manipulation and -webkit-tap-highlight-color
  on body for 300ms tap delay fix and Android tap flash removal
- _videolayout_default.scss: fix invalid overflow:'hidden' (quoted string),
  add vh fallback before dvh for iOS 14 compat
- _toolbars.scss: move :active states outside hover media query so touch
  devices get visual feedback on hangup button
- _whiteboard.scss: add dvh/dvw fallback for iOS Safari address bar

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 19:32:54 -04:00
Jeff Emmett 8dc9c74c45 feat(shared-video): add video source types, embed URLs, and tile view support
Adds VIDEO_SOURCE_TYPES, getVideoSourceType, getVideoEmbedUrl to
shared-video for multi-platform embed support (Vimeo, Dailymotion,
Twitch). Adds SharedVideoTile and EmbedPlayerManager components.
Updates shared-music with embed player manager and source type helpers.
CSS fixes for meeting intelligence, toolbars, and filmstrip tiles.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 18:58:10 -04:00
Jeff Emmett 2984a2944c feat(shared-video): show shared video in tile view and default to tile layout
Remove auto-exit from tile view when video is shared, stop auto-pinning
the video participant, and render shared videos as embedded tiles in the
filmstrip. Users can still click to pin/maximize the video to stage view.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-10 16:47:52 -04:00
Jeff Emmett 57db6da004 feat(mobile): add swipe navigation and tileview button for mobile layout switching
Add Zoom-like layout switching on mobile web: horizontal swipe on video area
toggles between speaker and tile view, tileview button now visible in toolbar
at mobile widths (≤470px), and layout indicator dots show current view mode.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-07 16:09:35 -04:00
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 ec77b5f471 feat(video-layout): make videos fill tiles and remove blurred background
Videos now use object-fit: cover in all thumbnail types, removing dark
bars around portrait videos. Hides the blurred large video background
and makes the large video fill its container edge-to-edge.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-11 13:28:03 -07:00
Jeff Emmett 325960fa15 feat(reactions,chat): expand emoji features across reactions, chat picker, and message reactions
Add 8 new floating reactions (party, thinking, wave, cry, eyes, mindblown, pray, rocket) in a
two-row grid layout without sounds or shortcuts. Replace the basic SmileysPanel in chat with a
full @emoji-mart/react picker featuring categories, search, and skin tones. Expand message
reaction quick-access from 5 to 8 emojis with a "+" button to open the full picker.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 11:22:48 -07:00
Jeff Emmett c835176a80 fix(mobile): enable mobile browser support by disabling deep-linking
Mobile users were being blocked by a deep-linking page prompting them to
download the Jitsi Meet app. Since this is a self-hosted instance with no
native app, disable deep-linking so users join directly in the browser.

- Set deeplinking.disabled: true in config.js
- Set MOBILE_APP_PROMO: false in interface_config.js
- Fix mobile header background to match purple theme

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16 11:22:06 -07:00
Jeff Emmett 0e9c78c86a feat(deploy): add video quality and TURN configuration
- Add .env.example with documented video quality bitrate settings
- Configure VP8/VP9/H264/AV1 codec bitrates for optimal quality
- Add STUN/TURN server configuration for NAT traversal
- Document required firewall rules for media traffic
- Update branding: watermark, variables, interface config

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 11:36:17 +00:00
Jeff Emmett 68016c30f6 feat(meeting-intelligence): add frontend dashboard for recordings and transcripts
Adds the Meeting Intelligence dashboard UI with:
- Toolbar button to open side panel during meetings
- Recordings list showing past meeting recordings
- Transcript viewer with speaker diarization colors
- AI summary panel with key points, action items, decisions
- Search panel for searching across all transcripts
- Export functionality (Markdown, PDF, JSON)

Frontend components:
- MeetingIntelligenceButton (toolbar integration)
- MeetingIntelligenceDashboard (side panel container)
- RecordingsList, TranscriptViewer, SummaryPanel, SearchPanel

Integrations:
- Redux state management via ReducerRegistry
- Config support via meetingIntelligence settings
- SCSS styles matching Jitsi design system

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-06 02:24:50 +00:00
Jeff Emmett f56986818b feat(shared-music): add support for Vimeo, SoundCloud, Spotify, Dailymotion, Twitch
- Add source type detection for Vimeo, SoundCloud, Spotify, Dailymotion, Twitch
- Create EmbedPlayerManager for iframe-based media players
- Update extractMusicUrl to extract IDs from various platforms
- Update SharedMusicPlayer to route to appropriate player manager
- Update SharedMusicTile to handle video vs audio sources
- Video sources (YouTube, Vimeo, Dailymotion, Twitch) show embedded player
- Audio sources (SoundCloud, Spotify) show embedded widget
- Direct audio files show HTML5 audio player with custom controls

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-05 16:43:22 +00: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
Jeff Emmett 9f4b09d135 Initial commit: Jeffsi Meet - forked from Jitsi Meet 2026-01-08 19:27:14 +01:00