Adds configuration options for recording encoding, including presets and advanced settings, allowing users to customize video and audio quality.
This enhancement introduces new schemas for recording encoding presets and advanced options, enabling users to select from predefined encoding profiles or fine-tune specific video and audio parameters.
A conversion helper is implemented to translate between the internal encoding configurations and the format required by the LiveKit SDK.
backend: Adds recording encoding configuration options
Allows users to specify custom audio and video encoding settings for recordings, overriding room defaults.
This enhancement provides greater flexibility in controlling recording quality and file size. It introduces new schema definitions for encoding options and validates these configurations through Zod schemas.
Enforces complete video/audio encoding options
Requires both video and audio configurations with all their properties
when using advanced encoding options for recordings. This change ensures
complete encoding setups and prevents potential recording failures due to
missing encoding parameters. It also corrects a typo of keyframeInterval.
Add video depth option to recording encoding settings
Enables users to override the default recording layout for a room
when starting a recording. This allows customization of the recording
appearance on a per-recording basis, instead of being tied solely to the
room's configuration.
Updates the captions button to respect the global admin configuration.
The button now displays a disabled state and tooltip when captions are disabled globally, preventing users from toggling them.
The UI is updated to show disabled state and a specific subtitle off icon,
reflecting whether captions are enabled at the system level.
Adds an internal API endpoint to retrieve the captions configuration,
allowing the frontend to determine whether captions are enabled.
The configuration is read from the MEET_CAPTIONS_ENABLED environment variable.
Upgrades Playwright dependency to the latest version.
Removes unnecessary test cleanup functions and simplifies test structure.
Improves test stability by properly handling browser resources.
This commit refactors the recording API endpoints from the internal API to the public API.
This change allows users to start and stop recordings using API keys, enabling more secure and flexible access control for recording functionality. It also centralizes recording-related logic in the public API, simplifying the codebase and improving maintainability.
Allows users to toggle live captions on or off.
Introduces a room configuration setting to enable/disable the captions feature.
The captions button visibility is now controlled by the 'showCaptions' feature flag.
Adds support for live captions in meet rooms.
This includes schema definitions, API configurations,
and LiveKit integration for dispatching captions agents.
Captions are disabled by default and can be enabled per room.
Adds a notification and sound effect to inform users when their role is updated.
This provides immediate feedback to the user and improves the overall user experience.
Refactors sound effect logic into a dedicated `SoundService`.
This change centralizes audio playback functionality, promoting
better code organization and reusability. Removes sound effect logic
from the meeting service.
Introduces a live captions feature using LiveKit's transcription service.
This adds a new component that displays real-time transcriptions of the meeting audio in. It manages caption lifecycles, handles both interim and final transcriptions, and
provides reactive signals for UI updates.
Enables the capability to integrate speech processing agents by adding room configuration to the token when the agent processing name is set in the environment.
This allows to specify the agent to be dispatched on room creation.
Ensures the selected items in lists are correctly updated
when the underlying data changes by using `untracked` to avoid circular dependencies.
Introduces a utility function to compare sets for equality,
preventing unnecessary updates and improving performance.
Migrates the rooms lists component to leverage Angular's signal-based inputs.
This improves change detection and simplifies data flow within the component.
Updates the component's template to reflect the use of signal accessors.
Ensures initial filters are correctly applied.
Migrates the recording list component to use Angular signals for input properties and data binding.
This improves performance and simplifies the component's change detection.
- Converts input properties to input signals.
- Uses computed signals for derived values.
- Introduces effect for side effects related to recordings changes.
- Moves recording list model interfaces to shared location.
Refactors error handling to allow handlers to directly return a response.
Updates the error handler service to return null when no handler can process an error.
Adds the 'layout' property to recording information.
This allows tracking the layout used during a recording, enhancing recording metadata.
Updates recording schema and adds layout information to API responses.
Sets up domain-based routing for different app features.
This change introduces a structured approach to managing application routes,
making it easier to add, modify, and maintain different sections of the application.
It configures routes for authentication, meetings, rooms, recordings, and the console.
Creates adapter interfaces for meeting context and room member operations.
This allows shared guards to interact with meeting context and room member context without directly depending on domain services, improving modularity and testability.
Adds providers to supply the adapters using existing services, enabling the use of the adapter interface within the guards.