Ensures screen sharing participants are always displayed, even if not active speakers.
Modifies the participant proxy to selectively hide camera tracks when a participant is only displayed for screen sharing.
This prevents unnecessary camera rendering in the custom layout.
Improves the smart mosaic layout to enhance the user experience and performance.
- Updates participant rendering logic for smart mosaic layout.
- Optimizes audio track management to prevent audio leaks.
- Implements audio focus by selectively muting tracks for inactive speakers.
Consolidates layout management into a dedicated component and service.
- Replaces layout selection logic with feature-based approach.
- Improves code readability and maintainability.
Allows configuring the number of visible participants in Smart Mosaic layout mode using a slider.
The minimum and maximum number of participants are now configurable via constants.
Updates the slider to use value binding instead of ngModel.
Moves the copy link button to a new component for additional toolbar buttons.
This allows for better organization and customization of the toolbar,
especially on mobile where space is limited. The "leave" button for
moderators is now separate.
Renamed components for better understanding and readability
- Implemented MeetingParticipantPanelComponent for displaying participant details with moderation controls.
- Created MeetingShareLinkOverlayComponent for sharing meeting links when no participants are present.
- Developed MeetingShareLinkPanelComponent for sharing links within the participant panel.
- Introduced MeetingToolbarButtonsComponent for additional toolbar actions like copying links and leaving meetings.
- Refactored MeetingComponent to utilize new components for participant management and sharing links.
- Updated styles for new components and removed redundant styles from MeetingComponent.
frontend: implement CE-specific meeting component with routing and UI elements
frontend: Enhance meeting components with plugin system
- Added alternative function inputs for event handling in MeetingLobbyComponent, MeetingParticipantPanelComponent, MeetingShareLinkOverlayComponent, MeetingShareLinkPanelComponent, and MeetingToolbarButtonsComponent.
- Introduced MeetingComponentsPlugins interface and MEETING_COMPONENTS_TOKEN for dynamic component injection.
- Updated MeetingComponent to utilize NgComponentOutlet for rendering plugins and prepare inputs for plugin components.
- Removed CE-specific MeetingCEComponent and its associated files, integrating its functionality directly into MeetingComponent.
- Created MEETING_CE_PROVIDERS to configure the plugin system using library components directly.
- Updated routing to use the new MeetingComponent with plugin support.
frontend: Update meeting component to display prejoin screen with lobby plugin
Moves meeting service to a subdirectory
Moves the meeting service to its own subdirectory for better organization.
Updates imports to reflect the new location.
frontend: Refactor dialog component to conditionally render action buttons
frontend: Implement lobby state management and enhance prejoin screen functionality
frontend: Refactor MeetingComponent to streamline service injections and constructor
frontend: Remove unused participantToken variable and add getter for lobbyState participantToken
frontend: Rename lobby.service to meeting-lobby.service
frontend: Refactor MeetingComponent to use MeetingPluginManagerService for plugin inputs and remove deprecated methods
meet.sh: launch testapp with dev command
backend: Added webhook config in .env.test
Adds web component events e2e tests
Introduces end-to-end tests for web component events, covering scenarios such as joining, leaving, and handling meeting closure.
The tests verify correct event emission and payload structure, including reason codes for leave events.
Also, add `test_localstorage_state.json` to git ignore, removing the file.
frontend: Added meeting event handler service
frontend: Enhances meeting component reactivity
Refactors the meeting component to use signals for reactive updates.
This improves performance by reducing unnecessary re-renders and simplifies state management.
- Moves event handling to a dedicated service.
- Introduces signals for participant lists and updates.
- Implements caching for participant panel inputs.
- Improves moderator control visibility logic.
webcomponent: Added moderation e2e tests
refactor(meeting): optimize participant panel item inputs handling
frontend: fix moderator badge rendering in participant panel
refactor(meeting): remove unused services and streamline constructor logic
refactor(meeting): update leave and end meeting handlers to return promises