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.
Configures the IDE to automatically organize imports upon saving files.
This enhances code cleanliness and consistency by ensuring imports are
automatically sorted and unnecessary imports are removed.
Streamlines parameter handling by centralizing logic.
The `RoomService` is no longer responsible for setting the `roomId` and `roomSecret`.
Instead, the `MeetingContextService` handles this and persists the room secret in session storage.
- Implemented helper functions for configuring Smart Mosaic layout, including setting participant count and waiting for participant visibility.
- Created a new file for managing fake participants, allowing for joining and disconnecting from LiveKit rooms using both CLI and browser-based methods.
- Introduced interfaces for browser-based fake participant options to streamline participant creation with audio and video assets.
Refines active speaker detection for smart layouts.
It now considers audio level threshold, minimum speaking duration, and a grace period to avoid rapid speaker switching.
Also, updates the speaker recency order to prioritize currently active speakers while maintaining a history of recent speakers.
Consolidates layout management into a dedicated component and service.
- Replaces layout selection logic with feature-based approach.
- Improves code readability and maintainability.
- Updated user login request body to define username and password directly instead of referencing an external schema.
- Removed obsolete recording token request schema.
- Added new request body for updating room anonymous access configuration.
- Deleted outdated room guests request body.
- Enhanced room member request body documentation for clarity on custom permissions.
- Introduced new request body for updating room roles configuration.
- Added error response schema for user ID already exists.
- Created success response schema for retrieving authenticated user info.
- Modified success response for retrieving multiple users to use userId instead of username.
- Updated success response for room members to reflect changes in memberId and access URLs.
- Adjusted success response for room details to include roles instead of guests.
- Created success response for updating room anonymous access configuration.
- Created success response for updating room roles configuration.
- Revised meet-user schema to use userId instead of username and simplified role representation.
- Deleted obsolete user-credentials schema.
- Introduced meet-room-anonymous-config schema for anonymous access configuration.
- Removed obsolete meet-room-guests schema.
- Updated meet-room-member schema to clarify memberId and name usage.
- Revised meet-room schema to replace guests with roles and added anonymous access configuration.
- Updated OpenAPI paths to reflect changes in user and room management endpoints.
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