53 Commits

Author SHA1 Message Date
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
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
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
4ecd086f21 backend: Adds layout property to recording info
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.
2026-01-14 18:46:38 +01:00
Carlos Santos
6f841eb254 Adds recording layout configuration
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
2026-01-08 19:51:04 +01:00
Carlos Santos
be5e3ffb1d backend: enhance room configuration schemas for updates and creation 2026-01-07 19:51:35 +01:00
Carlos Santos
0ba9d0b297 backend: Simplifies room configuration
The default configuration is assigned in the API validator middleware.
Streamlines the room configuration process by directly using the provided configuration options.
2026-01-07 18:01:14 +01:00
juancarmore
caad4bc550 backend: remove legacy storage service and migration process 2026-01-07 14:07:40 +01:00
juancarmore
86af733b37 backend: fix filename format for API keys in S3KeyBuilder 2025-12-31 00:51:56 +01:00
juancarmore
87b86652dc backend: update room creation to use roomConfig correctly 2025-12-25 14:18:02 +01:00
juancarmore
b0b95f38a8 frontend: remove UtilsHelper and update repositories and services to handle field selection directly in database 2025-12-23 01:05:01 +01:00
juancarmore
f5b805f3a3 backend: enhance recording and room repositories with additional filtering options 2025-12-22 17:21:57 +01:00
juancarmore
1c955c60d0 backend: enhance recording and room filters with status and sorting options 2025-12-22 17:21:57 +01:00
juancarmore
f6d685a158 backend: modify room config validator and ensure recording is disabled when E2EE is enabled 2025-12-22 17:21:57 +01:00
Carlos Santos
2761e68dd8 backend: Implement room status validation and cleanup for active meetings 2025-12-05 11:49:14 +01:00
juancarmore
f71b567823 backend: extract shceduler methods from RoomService and RecordingService and create RoomScheduledTasksService and RecordingScheduledTasksService for managing scheduled tasks 2025-11-24 20:14:25 +01:00
juancarmore
a9360ef452 backend: refactor recording access secret retrieval to use RecordingService 2025-11-23 21:47:46 +01:00
juancarmore
3aaf976964 backend: add new methods to global config service and refactor code for improved clarity 2025-11-23 21:18:42 +01:00
juancarmore
73813feb38 backend: rename and refactor various schemas and functions 2025-11-23 20:30:50 +01:00
juancarmore
49b44d0353 backend: remove unnecessary index files and update import paths 2025-11-23 17:23:53 +01:00
juancarmore
0d6838019d backend: enhance recording management with active recordings retrieval and stale cleanup improvements 2025-11-23 17:23:52 +01:00
juancarmore
253b435fbe backend: add SERVER_TRUST_PROXY configuration for flexible proxy handling 2025-11-23 17:23:52 +01:00
juancarmore
447a1fc9e5 backend: refactor internal configuration and service tasks for improved room and recording management 2025-11-23 17:23:52 +01:00
juancarmore
5234b28917 backend: update environment variable defaults to use nullish coalescing operator 2025-11-23 17:23:52 +01:00
juancarmore
69df748002 backend: refactor code to centralize all TS interfaces, types, enums and schemas under the models directory 2025-11-23 17:23:52 +01:00
juancarmore
fad38b696d backend: refactor environment variable usage across services and tests 2025-11-18 18:43:05 +01:00
juancarmore
e3fe104b05 backend: enhance login limiter configuration for better proxy compatibility and adjust base URL middleware condition 2025-11-18 17:41:36 +01:00
juancarmore
496591695a backend: update room configuration schemas for partial updates and default values 2025-11-18 14:19:56 +01:00
juancarmore
45ee463bc6 backend: enhance migration service to handle existing records and track failures 2025-11-18 14:02:03 +01:00
juancarmore
3ae55d0814 backend: add delete method for global configuration and skip initialization if already set 2025-11-18 11:38:42 +01:00
juancarmore
0f237af827 backend: implement MongoDB schema migration system
- Added internal configuration for schema versions in internal-config.ts.
- Created migration README.md to document the migration process and architecture.
- Developed base migration class and specific migration files for each collection (API key, global config, room, recording, user).
- Established migration registry to manage and execute migrations in order.
- Updated repository schemas to include schemaVersion for migration tracking.
- Enhanced migration service to orchestrate schema migrations and handle migration execution.
2025-11-18 10:27:26 +01:00
juancarmore
e30aa5f1a5 backend: update sanitizeRoomId to allow uppercase letters in identifiers 2025-11-17 14:47:28 +01:00
juancarmore
6b3ef47f08 backend: enhance participant identity handling by creating a unique identity based on participant name 2025-11-14 20:33:48 +01:00
juancarmore
3665c70105 backend: update room validators to admit all types of characters in the room name and add room ID prefix sanitization method to create roomId from room name 2025-11-14 19:14:00 +01:00
juancarmore
6eb33c6198 Delete participant and recording tokens and implement room member token. Remove unused cookie transport mode for tokens 2025-11-14 11:23:25 +01:00
Carlos Santos
26bc6cdfc1 backend: improve documentation for stale recording evaluation logic 2025-11-13 10:50:22 +01:00
Carlos Santos
5b94728bc9 baackend: allow meeting timeouts to be set via environment variables 2025-11-11 19:53:00 +01:00
Carlos Santos
d3554aa6cb backend: fixed unique name reservation logic to prevent infinite suffix concatenation 2025-11-11 16:12:54 +01:00
Carlos Santos
253ad630c7 backend: set default timeouts for meeting empty and departure scenarios 2025-11-11 14:02:27 +01:00
Carlos Santos
d72149c97d Prevents editing rooms with active meetings
Enhances room management by preventing modifications to rooms with active meetings.

Adds validation to backend to prevent updates to room configuration during an active meeting.

Improves frontend user experience by disabling the room editing option and adding a guard to redirect users away from the edit page.
2025-11-11 14:00:00 +01:00
juancarmore
1d55311757 test: enhance type safety in request helpers 2025-11-07 09:59:55 +01:00
juancarmore
3fdf2144ab backend: streamline authentication validators and improve error handling 2025-11-06 17:48:46 +01:00
juancarmore
e6d04aca16 Migrate storage from S3 to MongoDB:
commit 7fc703b7a01c038cfff69c88fea5d681b3011ea1
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Nov 5 17:45:06 2025 +0100

    backend: add E2EE configuration schema to MeetRoom

commit 3ad51133aaa696c36b9fc5dd1c271b5e09077e0b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Nov 5 16:15:13 2025 +0100

    backend: enhance MongoDB configuration logging and validation

commit b5b52e97dd4a0e16dbb5cda53dc406aa5c739380
Author: cruizba <carlos.ruizbal@gmail.com>
Date:   Wed Nov 5 15:50:05 2025 +0100

    feat: add MongoDB configuration options for optional mongodb and configurable uri

commit c6f0c35435a18365c99f44c692d5d2f2a9bd53ab
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Nov 5 13:59:10 2025 +0100

    ci: update backend integration test scripts and workflow

commit 19a1348f2f695a27694f1c5e80de696d039b6f4e
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:05:38 2025 +0100

    frontend: replace AuthService with ApiKeyService for API key management

commit 9465e40bc1babfae1203dc317907dc86dc57cd0c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:05:07 2025 +0100

    test: refactor auth and api key tests structure to improve consistency

commit b154aa8186eaaa51e027fc1459b9175f87affbd8
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:02:42 2025 +0100

    openapi: move API key management endpoints to a dedicated file and update references

commit 6987d2b587d1cd6ba85f2ea38c408957e5f0de04
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:01:00 2025 +0100

    backend: move API key management endpoints to its own controller

commit 8c9452bb74887265920942e3253921a43504790b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 31 12:00:00 2025 +0100

    backend: comment out MigrationService import and related export to prevent initialization error

commit daa923fa9f6ee68cb4f4ebfa61ce16026fbdc374
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 23:09:18 2025 +0100

    backend: implement migration service

commit 058593fb9488ae00077e28a591c7ea2a8b8d96cc
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 23:08:05 2025 +0100

    backend: add migration repository and model to handle database migrations

commit 4cbc9a9f48ede801333bfe37f0dba2993a79c29c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 19:41:01 2025 +0100

    backend: refactor update repository methods to throw errors instead of returning null for not found cases

commit 03496a733b9fa39776eb4bf70057459c7e567954
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 17:55:42 2025 +0100

    openapi: update roomName parameter description and reference in recordings path

commit 74293e04967fb1416b69324294ae864df9173f91
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 17:55:04 2025 +0100

    openapi: add analytics endpoint and schema for usage metrics

commit 8de171b0b340ffa787ef136a3e516f03f96b1938
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 17:40:24 2025 +0100

    test: add analytics API and corresponding security tests

commit aaa15acdda5f09c6c0e45d24385cc9ec5daca55b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 14:04:58 2025 +0100

    frontend: implement analytics service and update overview component to use new metrics

commit 13bad60bcc02e9d7aa46fc9bb96f7cc85ec818cc
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 14:04:23 2025 +0100

    backend: add analytics endpoint for usage metrics

commit ee820bba27f421bb2f9d34130bc00b41aefad217
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 13:18:29 2025 +0100

    backend: replace z.enum with z.nativeEnum for improved type safety in validation schemas

commit 1d394d059e6beef47faddd2205482974ecc1860c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Thu Oct 30 11:50:03 2025 +0100

    backend: update MongoDB configuration to use new environment variables and improve connection string handling

commit 56c0c3a1bd19bbd2a5e0fdbe582fdf288c6f33d1
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 18:23:06 2025 +0100

    frontend: update room ID reference in recording lists component

commit 189d1b26ad18d29cf9f7c6f85c2524ed5ad33f72
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 18:12:07 2025 +0100

    tests: remove unused MeetStorageService references and related tests

commit fe3fcdba35afcf186b0ff05e9ec3b2ae05da1005
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 17:31:18 2025 +0100

    backend: rename MeetStorageService to LegacyStorageService and remove all unused methods

commit fa782f234d561b5f7f6d4a50e54e3278b9beaec4
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:56:31 2025 +0100

    backend: replace MeetStorageService with RecordingRepository and BlobStorageService for recording management

commit 51dea37c07e477bc7e447b2e57acd21b44deb5e4
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:53:48 2025 +0100

    frontend: add roomName filter to recording service and recordings component

commit fa283e7c51b3382300cb25fa5f8a9e144637c757
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:53:04 2025 +0100

    backend: add roomName filter in get recordings endpoint

commit d1dfb24cfda2e22d739f506bf0213275cd4b2bdd
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:51:00 2025 +0100

    backend: implement BlobStorageService for managing recording media files in object storage

commit ce293cf37545fa3aaad638eb25dfd9ae5fc8dd72
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:48:04 2025 +0100

    backend: add unique index for efficient querying on MeetApiKey and MeetGlobalConfig schemas

commit 3d999b4249e15f63ef086d2ab38485e0fbadb27e
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Wed Oct 29 15:47:44 2025 +0100

    backend: add RecordingRepository and schema for managing recording entities

commit 757636c55254e76643b99a66bc583ab834c5eadd
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 13:05:12 2025 +0100

    tests: refactor list rooms with pagination test to create rooms sequentially and ensure correct ordering

commit cda25543e30883431962bef8617cb245eade8a1d
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 13:04:32 2025 +0100

    tests: centralize method restoreDefaultGlobalConfig and refactor code

commit 726d128d7471ad4abbaabda086304f22705ddf82
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 13:01:17 2025 +0100

    backend: enhance GlobalConfig schema with authentication, security, webhook, and room configuration sub-schemas

commit fd49fbb03cd8d70f29cc5781a0e0b9b5244f4747
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 11:02:34 2025 +0100

    backend: add StorageInitService for managing storage initialization and refactor dependency injection

commit 783f480337e61bfc19ad6d19f3b84c523577c309
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Tue Oct 28 11:01:58 2025 +0100

    backend: refactor middleware and services to use GlobalConfigService for configuration management

commit d28247647c2e0712c0575faa8a85a8c67a75f343
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 22:23:40 2025 +0100

    backend: move authenticateUser method to UserService and rename AuthService to ApiKeyService

commit c8f98391a178da4f9525069203fe4e3d2aecfaaa
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 22:21:37 2025 +0100

    backend: implement GlobalConfigService for managing global configuration and update related controllers

commit 08421feffc8cd4cadb8f2df3b4c41169d4776572
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 22:20:23 2025 +0100

    backend: add GlobalConfigRepository and schema for managing global configuration

commit e1e1b0dda511fb5fbdd8fc88f8a691bc974866c9
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 13:53:52 2025 +0100

    backend: refactor AuthService and MeetStorageService to use ApiKeyRepository for API key management

commit c46fd1669d0923a63195ef95ddf3105584fc18fc
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 13:52:56 2025 +0100

    backend: add ApiKeyRepository and schema for managing API keys

commit c1220eb89b98e842009fd16d95ddd87fd87ae02c
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 13:52:27 2025 +0100

    backend: rename UserDocument and UserModel to MeetUserDocument and MeetUserModel for consistency

commit 331e4ca264086e4fd0e947f2c8adc04dbfe7f831
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 12:27:43 2025 +0100

    backend: replace MeetStorageService usage with UserRepository in UserService

commit ec074307c3cd8c30f4babef5194fc4ebbe7ea7c0
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 12:05:15 2025 +0100

    test: update startTestServer calls to await for asynchronous initialization

commit 3bba2e2822824a1855e6691c0c3b456c9ac5dd3a
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Mon Oct 27 12:04:39 2025 +0100

    test: initialize eager services in startTestServer and update calls to await for asynchronous initialization

commit e52f7353515f95835c9d15dba41ff33a2e26d367
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 19:40:04 2025 +0200

    backend: add User schema and repository for user management

commit 10c548afa9e45dd72d0fb86c9dab0a601c08e652
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 19:39:38 2025 +0200

    backend: add findAll method to BaseRepository and findExpiredRooms method to RoomRepository

commit cbe467e0e5475311f8aea4b4ff99a481007537c0
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 19:39:09 2025 +0200

    backend: optimize MeetRoom schema by adding indexes for efficient querying

commit fb95ef3248e64721e107c3c019e6a61a210ad6ce
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 18:07:38 2025 +0200

    backend: enhance cursor-based pagination to handle null/undefined values in MongoDB queries

commit bf709bb8e4a301a5738e44c7d7fb2f219846c3ce
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 18:07:25 2025 +0200

    ci: update integration test paths to reflect new directory structure

commit 67ce9da156dccded23eb2b9b9a8a34c835d7f27b
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 15:09:21 2025 +0200

    backend: replace storage service with RoomRepository for room management

commit 25dcd057d6597910fa4992dc45934e85edbd6a3e
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 15:07:55 2025 +0200

    backend: implement RoomRepository to manage MeetRoom objects in MongoDB

commit 42e6036741871b964d9d7a644210eedeaf1ad543
Author: juancarmore <juancar_more2@hotmail.com>
Date:   Fri Oct 24 15:05:31 2025 +0200

    backend: add mongoose dependecy and create MongoDBService
2025-11-05 17:48:38 +01:00
Carlos Santos
fd905286a6 typings: add E2EE configuration interface to MeetRoomConfig
frontend: add End-to-End Encryption (E2EE)

- Updated meeting lobby and room wizard components to handle E2EE settings.
- Added E2EE configuration options in the room wizard and lobby services.
- Implemented validation for E2EE key input in participant forms.
- Enhanced UI to reflect E2EE restrictions on recording and streaming.
- Added animations for E2EE warning and info sections.

backend: Added E2EE configuration and middleware

backend: Added e2ee configuration property to openapi

Enables E2EE functionality

Configures the application to support end-to-end encryption (E2EE).

Copies the necessary worker script to the assets folder.

Passes the E2EE key to the meeting component.

Adds a script to remove node_modules and dist folder.

frontend: Add E2EE UI tests and configuration options

webcomponent: Ensure cleanup of test environment after moderation tests

frontend: Update E2EE description and restrictions

webcomponent: Enhance E2EE UI tests by adding participant interactions and verifying visibility with correct keys

backend: Updated start recording example response
2025-11-05 17:11:30 +01:00
Carlos Santos
46bbeacc66 backend: update error message to reflect correct CPU usage for composite recording 2025-10-22 17:22:09 +02:00
Carlos Santos
a1aab62adf path.utils: enhance logging for development environment and improve path resolution 2025-10-21 11:34:49 +02:00
Carlos Santos
2b64445714 backend: streamline environment variable extraction with defaults and enhance export structure 2025-10-17 13:10:04 +02:00
Carlos Santos
4a7ebcc727 backend: path.utils.ts enhance project root resolution and logging for development 2025-10-17 12:07:49 +02:00
Carlos Santos
edb9b43219 backend: Adds the edition to the app's name
Includes the edition of the application in logs and display to differentiate builds.

Adds a script to `package.json` to allow for watching build.
2025-10-16 17:57:53 +02:00