Replaces the old device service with a new implementation using Angular Signals for reactive state management.
This enhances performance by:
- Improving permission requests
- Providing live device detection
- Providing better error handling
The new implementation also integrates with the LiveKit client for track management.
Adds a more robust mechanism to manage virtual background support, including:
- Displaying a warning message when the browser does not support virtual backgrounds.
- Disabling background selection buttons when virtual backgrounds are not supported.
- Optimizing background processor initialization and attachment for different browsers (handling lazy loading for Firefox).
- Centralizing the check for virtual background support in the OpenViduService.
This change ensures a better user experience by clearly indicating when virtual backgrounds are unavailable and preventing users from attempting to use an unsupported feature.
Simplifies the logic for attaching and detaching the background processor in Firefox.
Ensures the processor is stopped when background effects are disabled, optimizing performance.
- Updated the OpenVidu deployment scripts for GCP and Azure to eliminate the need for downloading and converting certificate files.
- Modified variable descriptions to specify that public and private certificates should be provided in base64 format.
- Adjusted the installation scripts to use the provided base64 encoded certificates directly for both OpenVidu and TURN server configurations.
- Added LayoutDimensionsCache for caching dimension calculations to optimize layout rendering.
- Implemented LayoutRenderer for handling DOM manipulation and rendering of layout elements.
- Created layout-types model to define various layout-related types and constants.
- Developed OpenViduLayout class to orchestrate layout calculations and rendering, maintaining backward compatibility.
- Updated document and layout services to reference new layout model structure.
- Added "DPkg::Lock::Timeout \"-1\";" configuration to various installation scripts across GCP, AWS, and Azure deployments to prevent apt-get lock timeout issues during package installations.