84 Commits

Author SHA1 Message Date
Carlos Santos
a10d30284b ci: Adds API URL for meet service
Configures the Meet API URL as an environment variable for the E2E tests.
This allows tests to connect to the service during CI runs.
2025-07-15 11:31:56 +02:00
Carlos Santos
d7e6ae7e32 ci: comment out OpenVidu Meet setup in E2E tests workflow 2025-07-15 10:44:16 +02:00
Carlos Santos
fbcb70dbc2
Add OpenVidu Meet Console implementation (#4)
* frontend: update icons for Rooms and Recordings in console navigation

* frontend: enhance overview component with user stats and improved layout

* frontend: implement theme service and design tokens for light/dark mode support

- Added ThemeService to manage theme preferences and system theme detection.
- Introduced design tokens for consistent styling across light and dark themes.
- Updated components to utilize the new navigation service for routing.
- Replaced SecurityPreferencesComponent with PreferencesComponent for settings.
- Enhanced UI with new styles and improved navigation structure.
- Added tests for ThemeService to ensure functionality.

* frontend: enhance overview component with title styling and icon integration

* frontend: remove unused Router import from overview component

* frontend: implement developers settings with API key and webhook configuration

* frontend: update styles and structure for console navigation and overview components

* frontend: simplify API key checks and integrate notification service for user feedback

* frontend: update openvidu-components-angular to version 3.3.0-dev2 and simplify Material Symbols stylesheet link

* frontend: adjust padding and gap for stat card and actions in overview component

* frontend: update import paths to use relative paths for better module resolution

* frontend: enhance sync-types.sh script with advanced options and detailed usage instructions

* typings: update TypeScript declaration files and improve sync-types.sh script for better clarity and functionality

* webcomponent: webcomponent typings are now moved to typings directory

* Revert "typings: update TypeScript declaration files and improve sync-types.sh script for better clarity and functionality"

This reverts commit 7da952bc44be20c3f74ffb82bf941b96b78ad019.

* typings: improve sync-types.sh script for clarity and consistency

* test: update error message for empty downloaded file check

* frontend: update outbound event message types in video room and web component manager services

* frontend: enhance styling for console component and adjust nav item border radius

* style: update comments in disabled class for clarity and consistency; refactor import paths in room-form component

* typings: update import paths in message.type.ts to include file extensions

* frontend: enhance rooms management interface with improved loading states, search functionality, and table features

* frontend: enhance loading state with improved UI and animations for room loading process

* frontend: enhance rooms table with auto-deletion feature and improve status display

* frontend: update import paths for services and add containsRoute method to NavigationService

* frontend: remove unused components and associated files from shared-meet-components

* frontend: add logo selector component and enhance preferences settings with access controls

* frontend: add SessionStorageService import to extract query params guard

* frontend: add margin-bottom utility class to overview container

* frontend: update description for creating a room in the overview component

* frontend: Added recording list component

* frontend: update padding in mat-sidenav entry to use spacing variable

* frontend: update text for delete room button to use lowercase

* frontend: enhance console navigation with tooltips and active item styling

* frontend: refactor styles in console navigation for consistency and improved theming

* frontend: add border to card header for improved visual separation

* frontend: created room list reusable component

* frontend: adjust vertical alignment of table cells in recording lists

* frontend: enhance room status and auto-deletion indicators with tooltips and improved styling

* frontend: enhance HTTP service methods to include status codes in responses

* frontend: fix duration formatting to use integer seconds instead of fixed-point

* frontend: refactor icon styles in status badge for consistency

* Add modular SCSS structure for design tokens, mixins, animations, and utility classes

- Introduced _animations.scss for keyframes and animation utility classes.
- Refactored _design-tokens.scss to import modular design system files for better maintainability.
- Created _mixins-components.scss for component-specific mixins like cards and buttons.
- Added _mixins-layout.scss for layout-related mixins and responsive design utilities.
- Established _mixins-responsive.scss for breakpoint mixins to facilitate responsive design.
- Introduced _tokens-core.scss for core design tokens including colors, spacing, and typography.
- Created _tokens-themes.scss for theme-specific design tokens for light and dark modes.
- Added _utilities.scss for reusable utility classes to streamline common styling patterns.

* frontend: Refactor styles for settings preferences component and enhance utility classes

- Simplified SCSS for preferences.component.scss by utilizing utility classes for layout and styling.
- Introduced new utility classes for Material components, including slide toggle and navigation list.
- Enhanced form section styling with consistent spacing and layout adjustments.
- Added responsive design patterns for toolbar and table components.
- Improved loading and empty state styles for better user experience.

* frontend: standardize page layout and loading states across components

* frontend: enhance status badge and action button styles for consistency

* ci: update unit test workflow to include typings setup

* test: update import path for WebComponentCommand to typings directory

* frontend: refactor dialog component structure and enhance styles for improved accessibility and responsiveness

* frontend: rename batchDelete methods to bulkDelete for consistency

* frontend: implement confirmation dialog for room deletion with improved error handling

* frontend: extract feature-specific API logic from HttpService into dedicated services

* frontend: extract common recording actions into RecordingManagerService

* frontend: refactor navigation handling for improved consistency

* backend: add endpoint to download multiple recordings in a zip file and refactor bulkDeleteRecordings to delete only recordings from the same room if recording token is provided

* openapi: add download endpoint for recordings and update bulk delete logic to enforce room constraints

* frontend: enhance recording media URL generation and add bulk delete and download functionalities

* frontend: rename 'batchDownload' to 'bulkDownload' for consistency and implement missing methods in RecordingsComponent

* frontend: Implement Room Creation Wizard with Step Indicator and Navigation

- Added StepIndicatorComponent for visual step tracking in the wizard.
- Created WizardNavComponent for navigation controls (Next, Previous, Cancel, Finish).
- Developed RoomWizardComponent to manage the wizard's state and steps.
- Introduced WizardStateService to handle the wizard's data and navigation logic.
- Defined WizardStep and WizardNavigationConfig models for step management.
- Implemented basic structure for individual steps: Basic Info, Recording Settings, Recording Trigger, Recording Layout, and Preferences.
- Integrated components into the room creation flow, allowing users to navigate through steps.
- Added unit tests for all new components and services to ensure functionality.

* feat(wizard): enhance wizard functionality and UI

- Added validation form groups to WizardStep interface for better form handling.
- Updated WizardNavigationConfig to include customizable button labels and states.
- Implemented step navigation with event handling in room-wizard component.
- Refactored basic info step into a standalone component with reactive form support.
- Improved styling for the basic info step and action buttons.
- Enhanced wizard state management to handle dynamic step visibility based on user input.
- Added methods for loading existing data and saving form changes automatically.
- Updated tests to reflect changes in component structure and functionality.

* feat(recording-preferences): implement recording preferences step with form and options

* feat(room-wizard): add recording trigger step with selectable options and form handling

* feat(recording-preferences): refactor option selection to use SelectableCard component and update styles

* test: add tests for download recordings endpoint and update tests for bulk delete recordings

* openapi: improve descriptions for bulk delete operations and add new response for marked rooms

* frontend: update bulk actions and add sharing functionality in RecordingsComponent, and enhace RecordingListsComponent

* frontend: implement bulkDeleteRooms method and enhace RoomsComponent and RoomListsComponent

* typings: add MeetApiKey interface

* backend: update API key handling to use MeetApiKey type

* openapi: create API key schema and update response references

* backend: add webhook URL testing functionality and validation

* frontend: simplify HTTP request methods by removing response observation

* frontend: streamline OverviewComponent by removing unused observables and simplifying data loading

* frontend: add API key management methods to AuthService

* frontend: enhance GlobalPreferencesService by adding webhook preferences management

* frontend: refactor DevelopersSettingsComponent to improve API key handling and streamline webhook configuration

* openapi: add webhook URL testing endpoint with request and response schemas

* test: add tests for webhook URL validation

* frontend: enhance PreferencesComponent and add changePassword method in AuthService

* feat(recording-preferences): add recording access control options and enhance UI animations

* feat(recording-layout): implement recording layout selection step with form handling and visual options

* feat(room-preferences): implement room preferences step with form handling and toggle options

* feat(room-wizard): enhance form handling and default value saving across components

* feat(layouts): add new layout images for grid, single speaker, and speaker configurations

* feat(developers): adjust API key field button padding and update spacing in API key display

* feat(rooms-lists): enhance button formatting and add tooltips for room status and auto-deletion

* feat(room-wizard): update room creation logic and form field names for consistency

* feat(room-wizard): add skip button functionality and enhance navigation handling

* feat(basic-info): simplify form layout by removing action buttons and related styles

* fix(wizard-navigation): change currentStepId type from string to number for consistency

* feat(styles): enhance button padding and hover effect in batch actions for improved usability

* fix(wizard-navigation): adjust padding for improved layout consistency

* feat(basic-info): add clear button for deletion date and enhance time selection layout

* feat(rooms-list): enhance deletion date display with new styling and structure

* fix(basic-info): remove debugger statement from saveFormData method

* refactor(step-indicator): remove commented-out styles for cleaner code

* feat(step-indicator): enhance responsive layout handling and emit layout changes

* feat(overview): improve loading state handling and update stats management

* feat(step-indicator): enable navigation between steps and improve layout handling

* feat(room-wizard): refactor state management to use MeetRoomOptions and improve data handling across components

* feat(step-indicator): enhance layout handling and improve text overflow management for better responsiveness

* feat(step-indicator): update step properties to enhance navigation and state management

* feat(room-wizard): add 'Create Room' label to finish button in navigation config

* openapi: add force-deletion parameter to delete room endpoint

* frontend: split code in ContextService into domain specific services and rename it to AppDataSerivce

* frontend: enhace FeatureConfigurationService to use signal-based approach and remove unused preferences and permissions

* feat(basic-info): update deletion hint icon and improve warning color consistency

* feat(room-service): rename saveRoomPreferences to updateRoom and adjust API path for preference updates

* feat(room-wizard): implement edit mode for room configuration, allowing users to update existing room settings

* feat(pro-feature-badge): create ProFeatureBadge component and integrate into logo selector and selectable card

* fix(recording): adjust compression level for zip archive in downloadRecordingsZip

* fix(internal-config): remove FIXME comments related to LK bug for meeting timeouts

* frontend: reorganize imports and remove unused components

* refactor(console): rename 'Developers' to 'Embedded' in navigation and update related routes

* fix(console-nav): update toolbar title from 'OpenVidu Console' to 'OpenVidu Meet'

* feat(users-permissions): create UsersPermissions component and update routing

* feat(users-permissions): add pro feature badge to user authentication section

* fix(overview): update navigation and text from 'Developers' to 'Embedded'

* feat(overview): update authentication configuration card and navigation

* frontend: refactor RoomRecordingsComponent to use RecordingListsComponent

* refactor: update API paths to remove 'meet' prefix for consistency

* frontend: update navigation paths to remove 'console' prefix for consistency

* feat(video-room): add leave and end meeting functionality with toolbar buttons

* fix(overview): remove unnecessary comment on initial loading state

* feat(wizard): enable quick create functionality in wizard navigation

* feat(step-indicator): implement safe current step index handling for edit mode

* feat(wizard): update quick create visibility to show only on first step in edit mode

* feat(users-permissions): refactor admin password handling and validation

* webcomponent: update Playwright dependencies and refactor leaveRoom functionality

- Updated Playwright and Playwright Test versions in package.json to 1.53.2.
- Refactored leaveRoom function to accept a role parameter, allowing for different behavior based on user role (moderator or publisher).
- Updated E2E tests to utilize the new leaveRoom function, ensuring proper cleanup and behavior for both roles.
- Removed unnecessary afterEach cleanup in UI Feature Preferences tests.

* frontend: add IDs to leave and end meeting buttons for better accessibility

* testapp: update package-lock.json and refactor ConfigService constructor for improved environment variable handling

* frontend: update background colors for improved visual consistency

* chore: add tslib dependency and enhance target directory validation in sync-types.sh

* frontend: enhance accessibility by adding IDs to toolbar and form elements

---------

Co-authored-by: juancarmore <juancar_more2@hotmail.com>
2025-07-02 17:00:43 +02:00
Juan Carlos Moreno García
98764597e2
Add Azure Blob Storage integration (#3)
* azure-features: added azure blob support for meet

* azure-feature: removed variables of .env files

* azure-features: added azure blob support for meet

* azure-feature: removed variables of .env files

* azure-features: fix to pass the boundary ranges test

* ci update Azure storage configuration in egress.yaml using yq

* ci: update yq command for modifying egress.yaml to use correct syntax

* ci: add logging for current storage provider in backend integration tests

* ci: update conditional syntax for Azure storage provider in backend integration tests

* feature-azure: modified package-lock

* ci: remove logging of current storage provider in backend integration tests

* ci: add pre-startup script execution for Azure setup in backend integration tests

* fix: streamline pre-startup command execution for Azure storage provider

* fix: update pre-startup command script for Azure storage provider

* fix: improve pre-startup command script for Azure storage provider

* fix: remove commented instruction for modifying egress.yaml in Azure setup

* fix: streamline pre-startup command execution in backend integration tests

* fix: correct command execution syntax in backend integration tests

* fix: add container name for Azure storage provider configuration

* fix: add container name and environment variables for Azure storage configuration

* ci: enhance recordings API tests to support Azure storage provider configuration

* ci: add support for Azure storage provider in webhook, security, global preferences, participants, meetings, and users API tests

* ci: add Azure container names for various API tests in backend integration workflow

* fix: update Azure storage container names for various API tests

* backend: fix - ensure all recordings are deleted after room security tests

* ci: remove MEET_WEBHOOK_ENABLED environment variable from OpenVidu Meet setup in all jobs

* backend: refactor storage services exports

* backend: update Azure Blob Storage references and error messages for consistency

* ci: add matrix strategy for Rooms API Tests to support multiple storage providers

* backend: rename ABS services for consistency

* backend: ensure maxResults is a number in listObjectsPaginated method

* ci: update storage provider from azure to abs in integration tests

---------

Co-authored-by: Piwccle <sergiosergi11@hotmail.com>
Co-authored-by: Carlos Santos <4a.santos@gmail.com>
2025-06-23 18:34:53 +02:00
Piwccle
bd512f782c refactor: remove Azure storage provider configuration from Rooms API Tests 2025-06-18 15:55:24 +02:00
Carlos Santos
be2faa6048 ci: update pre-startup commands syntax for Azure storage provider 2025-06-17 12:17:18 +02:00
Carlos Santos
3f91464610 ci: update configuration for Azure support 2025-06-17 12:13:11 +02:00
Carlos Santos
fac7ed2636 test: enhance E2E tests with room and webhook functionality, add specific test scripts 2025-06-12 16:08:06 +02:00
Carlos Santos
209b4023fc test: add recording access tests and update helper functions for room preferences 2025-06-12 10:27:51 +02:00
Carlos Santos
73290ed470 ci: update test video upload path in E2E workflow 2025-06-11 18:10:48 +02:00
Carlos Santos
f7be31f84b ci: add E2E UI Features Tests workflow 2025-06-11 18:02:35 +02:00
juancarmore
89295dda93 ci: add users API tests in integration tests workflow 2025-06-09 22:39:38 +02:00
Carlos Santos
ed15d51297 ci: update Node.js version to 22.13 in backend workflows 2025-06-06 13:00:48 +02:00
Carlos Santos
c022bbf06e ci: update Node.js version to 22.13 in E2E test workflows 2025-06-06 12:55:11 +02:00
Carlos Santos
80bcc559df refactor: streamline testapp startup process in E2E tests workflow 2025-06-06 12:52:19 +02:00
Carlos Santos
64789951d3 testapp: add functionality to delete all rooms and add core tests 2025-06-06 12:32:10 +02:00
Carlos Santos
75f4f93946 ci: update default AWS EC2 instance type to c5.2xlarge 2025-06-04 15:45:01 +02:00
Carlos Santos
9177173221 ci: add condition for test-recordings job to ensure proper execution based on AWS runner status 2025-05-30 17:21:34 +02:00
Carlos Santos
9f05eac08e ci: update condition for starting AWS runner in backend integration tests 2025-05-30 13:58:15 +02:00
Carlos Santos
e7a5c4aea9 ci: update condition for stopping AWS EC2 runner in integration tests 2025-05-30 13:44:32 +02:00
Carlos Santos
69415e4dc7 ci: enhance backend integration tests with AWS EC2 runner setup and teardown 2025-05-30 13:13:17 +02:00
Carlos Santos
5d90602c88 ci: update workflow triggers to include workflow_dispatch for integration and unit tests 2025-05-30 11:30:01 +02:00
Carlos Santos
5884f9341e ci: remove wait-on installation from integration and unit test workflows, update wait logic in E2E test workflow 2025-05-30 11:27:42 +02:00
Carlos Santos
5fab376e15 ci: update OpenVidu local deployment action in E2E test workflow 2025-05-26 18:42:14 +02:00
Carlos Santos
df3e0e05bb ci: migrate actions to use OpenVidu repository for setup and cleanup 2025-05-23 17:15:41 +02:00
Carlos Santos
6b15128af2 ci: remove checkout step for OpenVidu Meet in backend integration tests 2025-05-22 16:18:12 +02:00
Carlos Santos
3e9fa424f8 ci: remove redundant yarn setup and checkout steps in backend integration tests 2025-05-22 16:05:47 +02:00
Carlos Santos
a913df4a04 ci: reorganize OpenVidu Meet setup by moving checkout step to action.yml 2025-05-22 16:03:15 +02:00
Carlos Santos
eda5549234 ci: simplify backend unit test workflow by removing yarn installation and redundant setup steps 2025-05-22 15:57:27 +02:00
Carlos Santos
c6d4b757b4 ci: optimize OpenVidu Meet setup by removing redundant checkout steps and ensuring yarn installation 2025-05-22 15:56:59 +02:00
Carlos Santos
a632652fd5 ci: streamline WebComponent setup by removing redundant npm install step 2025-05-22 14:40:51 +02:00
Carlos Santos
9ea7bac71c ci: add reusable action for setting up OpenVidu Meet backend in workflows 2025-05-16 19:00:05 +02:00
Carlos Santos
fb6e03d596 ci: refactor OpenVidu Local Deployment setup into a reusable action 2025-05-16 18:54:24 +02:00
juancarmore
20bba0b886 test: add script to launch integration tests for Meetings API and include them in backend-integration-test workflow 2025-05-15 21:54:41 +02:00
Carlos Santos
b25b80fc6e test: mark moderator join event test as only for focused execution
testapp: ensure roomId is defined before rendering stored webhook events

testapp: correct build script to include build:client step

ci: reduce log retention days from 7 to 2 for various artifacts

test: remove 'only' from moderator join event test for full execution

testapp: correct build script order in package.json for proper execution

frontend: update openvidu-components-angular to version 3.2.0-dev17 in package.json and package-lock.json

webcomponent: remove unnecessary comment from playwright configuration file
2025-05-14 17:39:46 +02:00
Carlos Santos
835cde2dc2 ci: improve log upload steps and rename for clarity in E2E tests 2025-05-14 16:54:33 +02:00
Carlos Santos
2ee94daff4 ci: update Docker Compose log dumping path to /tmp for consistency 2025-05-14 16:48:33 +02:00
Carlos Santos
34bc2ce548 ci: update OpenVidu Local Deployment reference from development to main 2025-05-14 16:39:37 +02:00
Carlos Santos
a2f1ea71d2 ci: update Docker Compose log dumping to use local containers.txt 2025-05-14 16:18:14 +02:00
Carlos Santos
39beed3172 ci: remove redundant npm install steps and add Docker Compose log dumping 2025-05-14 15:59:20 +02:00
Carlos Santos
85985274ed ci: remove unnecessary directory listings from test run for cleaner output 2025-05-14 15:48:49 +02:00
Carlos Santos
cc446c206f ci: rename step to upload failed test videos for clarity 2025-05-14 14:25:33 +02:00
Carlos Santos
17b66c6c35 ci: add step to upload test videos with specified retention 2025-05-14 14:14:25 +02:00
Carlos Santos
233ec74871 ci: add environment variable for webhook in E2E test workflow 2025-05-14 13:59:54 +02:00
Carlos Santos
d2d3453f35 test: improve failure logging in E2E tests 2025-05-14 12:10:38 +02:00
Carlos Santos
00a0242e61 ci: redirect output of backend and testapp to log files for better debugging 2025-05-14 12:02:30 +02:00
Carlos Santos
81aea14b76 ci: move Playwright browser installation to test execution step 2025-05-14 11:02:36 +02:00
Carlos Santos
6b13870fc1 ci: ensure Playwright browsers are installed after dependencies in E2E test workflow 2025-05-14 10:45:08 +02:00
Carlos Santos
57b2812c63 ci: update Playwright browser installation path to use temporary directory 2025-05-14 10:39:42 +02:00
Carlos Santos
6591238382 test: update participants API test command to use integration tests 2025-05-14 10:29:52 +02:00