[0.2.0.7] - 2025-11-20
- Stretch Video (Expand Mode):Added a "Stretch" button to user video tiles.Functionality: Moves the selected user's video to the main stage (previously reserved only for screen sharing) for a larger view.Smart Interaction:Screen Share Priority: If a screen share starts (local or remote), any stretched video is automatically unstretched and returned to the grid to prioritize the presentation.Single Focus: Stretching a second user automatically unstretches the current one.Toggle: Clicking the stretch button again returns the user to their original position in the grid.
- Added a "Stretch" button to user video tiles.
- Functionality: Moves the selected user's video to the main stage (previously reserved only for screen sharing) for a larger view.
- Smart Interaction:Screen Share Priority: If a screen share starts (local or remote), any stretched video is automatically unstretched and returned to the grid to prioritize the presentation.Single Focus: Stretching a second user automatically unstretches the current one.Toggle: Clicking the stretch button again returns the user to their original position in the grid.
- Screen Share Priority: If a screen share starts (local or remote), any stretched video is automatically unstretched and returned to the grid to prioritize the presentation.
- Single Focus: Stretching a second user automatically unstretches the current one.
- Toggle: Clicking the stretch button again returns the user to their original position in the grid.
- Pin Video (Pinned Strip):Added a Pinned Strip area at the bottom of the screen (above the toolbar).Added a "Pin" button to user tiles.Functionality: Moves the user's video to the bottom strip, keeping them visible regardless of grid pagination or layout changes.Pin-to-Stretch Logic: If a pinned user is stretched, they move to the main stage. When unstretched, they return to the main grid (resetting the pin state), preventing UI conflicts.
- Added a Pinned Strip area at the bottom of the screen (above the toolbar).
- Added a "Pin" button to user tiles.
- Functionality: Moves the user's video to the bottom strip, keeping them visible regardless of grid pagination or layout changes.
- Pin-to-Stretch Logic: If a pinned user is stretched, they move to the main stage. When unstretched, they return to the main grid (resetting the pin state), preventing UI conflicts.
- Local User Controls (Self-View):Self-Pin & Self-Stretch: Added support for local users to Pin or Stretch their own video tile.Implementation: The local player tile now shares the same ID structure and button logic as remote users, allowing seamless interaction with layout features.
- Self-Pin & Self-Stretch: Added support for local users to Pin or Stretch their own video tile.
- Implementation: The local player tile now shares the same ID structure and button logic as remote users, allowing seamless interaction with layout features.
- Real-time Chat System:Integrated a text chat interface within the Sidebar (
#wpj_sidebar--messages).Functionality: Allows participants to send and receive messages instantly via Agora RTM.Smart Notifications: Automatically injects a notification badge (red dot with count) into the Message toolbar button when the sidebar is hidden or when viewing the People tab.
- Integrated a text chat interface within the Sidebar (
#wpj_sidebar--messages).
- Functionality: Allows participants to send and receive messages instantly via Agora RTM.
- Smart Notifications: Automatically injects a notification badge (red dot with count) into the Message toolbar button when the sidebar is hidden or when viewing the People tab.
- Device Settings Dock:Replaced the static device settings panel with a collapsible Settings Dock (floating gear icon) at the bottom-left.Improved UI/UX for managing Microphone and Camera selections during the meeting.
- Replaced the static device settings panel with a collapsible Settings Dock (floating gear icon) at the bottom-left.
- Improved UI/UX for managing Microphone and Camera selections during the meeting.
- Optimistic UI Initialization (Instant Join):Re-architected the join flow to execute
startMeetingTimer() and initial Grid Sorting immediately after local DOM creation.Benefit: Eliminates the ~3-second perceived delay ("frozen state") while waiting for RTC/RTM connection and hardware acquisition. The room UI now feels instant and responsive.
- Re-architected the join flow to execute
startMeetingTimer() and initial Grid Sorting immediately after local DOM creation.
- Benefit: Eliminates the ~3-second perceived delay ("frozen state") while waiting for RTC/RTM connection and hardware acquisition. The room UI now feels instant and responsive.
- Smooth Layout Transitions:Implemented the View Transitions API (with fallback) for grid sorting operations.Added CSS keyframe animations for tile entry (Pop-in effect).Benefit: Eliminates visual "glitches" or jumping tiles when users join/leave or when re-sorting the grid. Tiles now smoothly slide to their new positions.
- Implemented the View Transitions API (with fallback) for grid sorting operations.
- Added CSS keyframe animations for tile entry (Pop-in effect).
- Benefit: Eliminates visual "glitches" or jumping tiles when users join/leave or when re-sorting the grid. Tiles now smoothly slide to their new positions.
- UI Refinements:Updated "Pin" icon to a solid, 45-degree angled design for better visibility.Updated "Gear" icon to a solid filled style for the new Device Dock.Improved button visibility and hover states in the video tiles.
- Updated "Pin" icon to a solid, 45-degree angled design for better visibility.
- Updated "Gear" icon to a solid filled style for the new Device Dock.
- Improved button visibility and hover states in the video tiles.