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.
Relocates the delete room dialog component to the rooms domain for better organization and separation of concerns.
Updates imports and references to reflect the new location of the component.
Moves recording URL generation to the component using the URL.
This provides more flexibility in how the URL is generated,
allowing the component to handle different scenarios.
The service is no longer responsible for generating the URL.
Enables configuration of recording layouts.
Specifies the recording layout in the room configuration.
Now supports different layouts, such as grid, speaker, and single-speaker.
Updated zod validation schemas
Updated integration tests
The default configuration is assigned in the API validator middleware.
Streamlines the room configuration process by directly using the provided configuration options.