1466 Commits

Author SHA1 Message Date
juancarmore
ac3a728591 Revert "frontend: Refactor user management components and update routes"
This reverts commit f677b18879bb13acf063de6a3366059a3a49d3ed.
2026-02-17 17:40:50 +01:00
juancarmore
90a1c6fde9 backend: refactor migration transforms to return updated document instances and improve MigrationService to execute all transforms sequantilly for each document 2026-02-17 16:03:05 +01:00
juancarmore
7378a8f53e backend: create schema migrations for room and recording from v1 to v2 version 2026-02-17 12:47:31 +01:00
juancarmore
3142f9fe79 backend: update migration README to clarify schema versioning and MIGRATION_REV timestamp requirements 2026-02-17 12:46:38 +01:00
juancarmore
2a1575768f backend: use collection names in schema migration name generation 2026-02-17 12:32:01 +01:00
juancarmore
396c23aa3c backend: remove unused repository injections from MigrationService 2026-02-17 12:30:26 +01:00
juancarmore
96e441726c refactor(migrations): overhaul migration system to use schema transformation maps
- Removed the BaseSchemaMigration class and replaced it with a more flexible schema migration approach using transformation functions.
- Updated global-config, recording, room, and user migrations to utilize the new schema migration map structure.
- Introduced runtime migration registry for better management of migration execution.
- Enhanced migration service to handle schema migrations more efficiently, including improved error handling and logging.
- Added utility functions for generating and validating schema migration names.
- Updated migration repository methods to streamline migration status tracking.
2026-02-17 11:32:34 +01:00
cruizba
a853aa02a2 backend: apply dynamic base path to OpenAPI docs server URLs
When deployed under a base path (e.g. /meet), the Stoplight "Try It"
requests were hitting /api/v1 instead of /meet/api/v1. This applies
the base path to the embedded OpenAPI spec's servers array at serve time,
following the same pattern used for the frontend index.html.

Also renames html-injection.utils to html-dynamic-base-path.utils and
updates function names for better wording.
2026-02-11 19:18:30 +01:00
cruizba
366632741c fix: strip basePath prefix in redirectTo method
Strip basePath prefix if present, since Angular router operates relative to <base href>
2026-02-05 19:40:00 +01:00
CSantosM
1046b5a0dd backend: enhance build script to generate API documentation after compilation 2026-02-05 12:40:49 +01:00
CSantosM
59d722f882 backend: enhance recording start process sending FAILED event to client when an error occurs 2026-02-04 15:21:25 +01:00
cruizba
b08bb10f63 backend: fix URL path extraction to remove basePath prefix 2026-02-03 01:56:58 +01:00
cruizba
177648e6d5 tests: Use getFullPath for constructing recording URLs in assertions 2026-02-02 21:09:34 +01:00
cruizba
b059b88be4 fix tests: Update API path construction with new path 2026-02-02 20:51:03 +01:00
cruizba
4e634dac54 Move LiveKit Webhook route to app level 2026-02-02 19:58:38 +01:00
cruizba
b0c7dcbc9a Introduce base path configuration and update related services 2026-02-02 19:47:18 +01:00
CSantosM
ba7600bfc5 test: Fix default captions config enabled state to false 2026-02-02 17:01:41 +01:00
CSantosM
accb35c7e1 Adds recording encoding options to room config and start recording
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
2026-02-02 17:00:01 +01:00
CSantosM
1add921ce0 backend: Allows overriding recording layout
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.
2026-01-28 18:14:29 +01:00
CSantosM
2fe720c90b test: Remove moderatorToken from start and stop recording tests 2026-01-28 18:07:00 +01:00
CSantosM
3f91e281b3 frontend: Controls captions button based on admin config
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.
2026-01-28 16:27:30 +01:00
CSantosM
4ac182c244 backend: Update captions agent name and improve environment checks in TokenService 2026-01-28 16:25:43 +01:00
CSantosM
43f7ff5001 backend: Exposes captions config via internal API
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.
2026-01-28 15:21:00 +01:00
CSantosM
30bd4b5a41 Enable captions by default in room configurations and related tests 2026-01-28 14:50:32 +01:00
CSantosM
00433c75a4 Updated pnpm-lock.yaml 2026-01-26 17:21:30 +01:00
CSantosM
becf3070b0 test: Enhance E2EE UI tests by improving chat panel visibility checks and adding wait for animations 2026-01-26 16:46:16 +01:00
CSantosM
21e939e09c Update Jest configuration for integration tests and improve command line options 2026-01-26 14:10:53 +01:00
CSantosM
659cdcaf73 webcomponent: Updates dependencies and improves end-to-end tests
Upgrades Playwright dependency to the latest version.

Removes unnecessary test cleanup functions and simplifies test structure.
Improves test stability by properly handling browser resources.
2026-01-26 13:59:40 +01:00
CSantosM
dbcc9bbb25 test: Improve room closure check with retry logic in delete room tests 2026-01-26 11:09:00 +01:00
CSantosM
215b11e93f Moves recording API to public endpoint
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.
2026-01-23 17:32:18 +01:00
CSantosM
55aab084b0 backend: Add captions configuration to room tests 2026-01-23 16:38:50 +01:00
CSantosM
96b5cd249e testapp: Add captions configuration to room settings and UI 2026-01-23 14:28:30 +01:00
CSantosM
4751e7e989 dockerignore: Remove audio file extensions from ignore list 2026-01-23 10:23:49 +01:00
CSantosM
0a56a74433 frontend: Enables user-controlled live captions
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.
2026-01-22 19:28:18 +01:00
CSantosM
cb12d9a8fe backend: Add captions configuration test 2026-01-22 18:35:35 +01:00
CSantosM
9ae27bf32a backend: Adds live captions functionality to rooms
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.
2026-01-22 18:24:50 +01:00
CSantosM
f677b18879 frontend: Refactor user management components and update routes 2026-01-21 18:22:09 +01:00
CSantosM
f95b02e42b frontend: Comment out handleRoomConfigUpdated method for future reference 2026-01-21 17:31:51 +01:00
CSantosM
5f8af67ac6 frontend: Enhances user experience on role updates
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.
2026-01-21 17:31:34 +01:00
CSantosM
1ef813e509 frontend: Moves sound effects to dedicated service
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.
2026-01-21 17:30:30 +01:00
CSantosM
011e44b4f9 frontend: Removed allowSignalWrites flag because of it is deprecated 2026-01-21 17:28:52 +01:00
CSantosM
ed057612a0 frontend: Update moderation tooltips and move display properties interface 2026-01-21 17:01:23 +01:00
CSantosM
5cdc49d90c frontend: Adds live captions component
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.
2026-01-21 12:47:09 +01:00
CSantosM
073f0dc640 backend: Adds speech processing agent support
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.
2026-01-21 12:37:06 +01:00
CSantosM
bbd4d5fbaf frontend: Remove unused DestroyRef injection in MeetingContextService 2026-01-21 09:02:20 +01:00
CSantosM
5f722c36e7 frontend: Add sound notification for participant joining the meeting 2026-01-19 17:08:21 +01:00
CSantosM
b5ccd7c087 frontend: Enhance meeting component to manage participant left events and update state 2026-01-18 16:38:55 +01:00
Carlos Santos
13a339eb87 backend: Add main entry point and organize module exports 2026-01-15 16:57:18 +01:00
Carlos Santos
1d5cd9be26 backend: Fix import order and improve path resolution logic 2026-01-15 16:57:01 +01:00
Carlos Santos
68a10ff901 frontend: Refactors selection logic in lists
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.
2026-01-15 16:56:19 +01:00