- 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.
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.
webcomponent: Added missing and necessary js file
Update .gitignore to specify backend public directory exclusion
webcomponent: Add error handling for invalid base URL in OpenViduMeet component
webcomponent: Update Jest configuration for improved testing setup
webcomponent: Enhance iframe attribute tests and add support for optional query parameters
webcomponent: Refactor documentation copying in build_webcomponent_doc function for improved readability and add absolute path resolution
Add E2EE_KEY property to WebComponentProperty enum for end-to-end encryption support
meet.sh: Enhance build_rest_api_doc function with output file handling and user confirmation for overwriting
frontend: replace removeRoomSecretGuard with removeQueryParamsGuard for enhanced query parameter management
frontend: add E2EE key handling in room service and update query params guard
Updated pnpm-lock.yaml
Enables end-to-end encryption (E2EE)
Adds E2EE functionality to meeting rooms.
Significant changes:
- Allows encryption of the participant name
- Introduces setting and getting E2EE keys
- Ensures recording is disabled when encryption is enabled
webcomponent: Added e2e test for checking the e2ee funcionality
frontend: Sanitize participant name before request for a token
fix: clean up formatting in openvidu-meet.code-workspace
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
- Implemented MeetingParticipantPanelComponent for displaying participant details with moderation controls.
- Created MeetingShareLinkOverlayComponent for sharing meeting links when no participants are present.
- Developed MeetingShareLinkPanelComponent for sharing links within the participant panel.
- Introduced MeetingToolbarButtonsComponent for additional toolbar actions like copying links and leaving meetings.
- Refactored MeetingComponent to utilize new components for participant management and sharing links.
- Updated styles for new components and removed redundant styles from MeetingComponent.
frontend: implement CE-specific meeting component with routing and UI elements
frontend: Enhance meeting components with plugin system
- Added alternative function inputs for event handling in MeetingLobbyComponent, MeetingParticipantPanelComponent, MeetingShareLinkOverlayComponent, MeetingShareLinkPanelComponent, and MeetingToolbarButtonsComponent.
- Introduced MeetingComponentsPlugins interface and MEETING_COMPONENTS_TOKEN for dynamic component injection.
- Updated MeetingComponent to utilize NgComponentOutlet for rendering plugins and prepare inputs for plugin components.
- Removed CE-specific MeetingCEComponent and its associated files, integrating its functionality directly into MeetingComponent.
- Created MEETING_CE_PROVIDERS to configure the plugin system using library components directly.
- Updated routing to use the new MeetingComponent with plugin support.
frontend: Update meeting component to display prejoin screen with lobby plugin
Moves meeting service to a subdirectory
Moves the meeting service to its own subdirectory for better organization.
Updates imports to reflect the new location.
frontend: Refactor dialog component to conditionally render action buttons
frontend: Implement lobby state management and enhance prejoin screen functionality
frontend: Refactor MeetingComponent to streamline service injections and constructor
frontend: Remove unused participantToken variable and add getter for lobbyState participantToken
frontend: Rename lobby.service to meeting-lobby.service
frontend: Refactor MeetingComponent to use MeetingPluginManagerService for plugin inputs and remove deprecated methods
meet.sh: launch testapp with dev command
backend: Added webhook config in .env.test
Adds web component events e2e tests
Introduces end-to-end tests for web component events, covering scenarios such as joining, leaving, and handling meeting closure.
The tests verify correct event emission and payload structure, including reason codes for leave events.
Also, add `test_localstorage_state.json` to git ignore, removing the file.
frontend: Added meeting event handler service
frontend: Enhances meeting component reactivity
Refactors the meeting component to use signals for reactive updates.
This improves performance by reducing unnecessary re-renders and simplifies state management.
- Moves event handling to a dedicated service.
- Introduces signals for participant lists and updates.
- Implements caching for participant panel inputs.
- Improves moderator control visibility logic.
webcomponent: Added moderation e2e tests
refactor(meeting): optimize participant panel item inputs handling
frontend: fix moderator badge rendering in participant panel
refactor(meeting): remove unused services and streamline constructor logic
refactor(meeting): update leave and end meeting handlers to return promises