38 Commits

Author SHA1 Message Date
64924f9999 Applied new local config
Some checks failed
WebComponent E2E Tests / WebComponent E2E Tests (push) Has been cancelled
WebComponent Unit Tests / WebComponent Unit Tests (push) Has been cancelled
Backend Unit Tests / Backend Unit Tests (push) Has been cancelled
2025-11-01 00:49:33 -07:00
Carlos Santos
ad4ae2a69d frontend: Refactor meeting component for allowing customization
- 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
2025-10-31 13:16:43 +01:00
Carlos Santos
f4376934d7 tests: reorganize Jest configuration and VSCode settings for improved testing setup 2025-10-27 14:08:48 +01:00
Carlos Santos
ed4e336473 update Node.js image version in Dockerfile to 22.21.0 2025-10-27 12:40:15 +01:00
Carlos Santos
e876ef94d1 Updated dockerfile 2025-10-23 20:32:03 +02:00
Carlos Santos
75284c8687 add Docker-specific npm and workspace configurations for CI builds 2025-10-23 18:59:40 +02:00
Carlos Santos
4480637255 frontend: update openvidu-components-angular version constraints in package.json 2025-10-23 16:05:57 +02:00
Carlos Santos
88eda5d427 frontend: update openvidu-components-angular version constraints in package.json 2025-10-23 15:46:32 +02:00
Carlos Santos
8764fda04d docker: update Dockerfile to use Docker-specific workspace file and adjust pnpm install options 2025-10-22 18:16:07 +02: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
cf30f61a11 tests: update import statements for INTERNAL_CONFIG to use named imports 2025-10-22 16:43:06 +02:00
Carlos Santos
b9b531c345 update description for components_angular_version input and adjust build scripts to include shared-components 2025-10-22 14:09:34 +02:00
Carlos Santos
bd42b1f6fe update browserSync port and reload delay in meet.sh; adjust webhooks-snippets visibility in workspace settings 2025-10-22 11:55:50 +02:00
Carlos Santos
3d56352718 update pnpm workspace configuration to include openvidu-components-angular package and clean up ignored dependencies 2025-10-21 20:06:39 +02:00
Carlos Santos
46ce0fbec5 Add REST API docs watcher commands and update nodemon configuration 2025-10-21 19:24:30 +02:00
juancarmore
5a398982d4 frontend: improve theme initialization logic to prevent flickering 2025-10-21 18:25:59 +02:00
juancarmore
cc39f03bc9 frontend: avoid saving theme system preference in local storage 2025-10-21 18:25:34 +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
f3bae04446 Remove unused properties from environment configuration files 2025-10-21 11:34:12 +02:00
Carlos Santos
e1c7dec9b9 frontend: Add setEdition method to AppDataService for updating application edition 2025-10-20 18:26:00 +02:00
Carlos Santos
a33d9d68ec Update tsconfig.json: Add path mapping for shared-meet-components library to avoid build issues 2025-10-20 17:09:47 +02:00
Carlos Santos
daa75cf1bb typings: Export BaseRoomOptions interface for better accessibility in other modules 2025-10-20 16:48:49 +02:00
Carlos Santos
2f5bc8b2ee update import paths and enhance development commands for shared-meet-components 2025-10-20 13:56:14 +02:00
Carlos Santos
45ef1f53b1 Refactor imports in shared-meet-components to use relative paths
- Updated import paths in meeting.component.ts, room-recordings.component.ts, view-recording.component.ts, and other service files to use relative paths instead of absolute paths.
- Removed the '@openvidu-meet/shared/*' path mapping from tsconfig.json.
- Added shared-meet-components to pnpm workspace and updated pnpm-lock.yaml to reflect the changes.
2025-10-20 13:56:14 +02:00
Carlos Santos
7f7198dfcf frontend: update lib package name 2025-10-20 13:56:14 +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
498e837c70 backend: Updated configuration for backend unit testing
Sets up Jest with ts-jest for unit and integration tests.
Includes configurations for:

-   ESM support
-   Module resolution
-   Path aliasing
-   Adds unit tests to validate path utilities
2025-10-17 12:05:20 +02:00
Carlos Santos
7b76d33377 Updates pnpm version and uses bash
Refactors Dockerfiles and entrypoint script to allow specifying pnpm version via build argument and environment variable.

Updates shell script interpreter to bash.

Installs bash in production image.
2025-10-17 10:47:44 +02:00
Carlos Santos
f3405abadb Copies bundle to CE and Pro backend
Copies the generated bundle to both the CE and Pro backend directories during the build process.

This ensures that the webcomponent is readily available for both versions, streamlining the deployment process.
It also introduces improved logging and error handling to provide better visibility into the copying process.
2025-10-16 18:21:15 +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
Carlos Santos
faa5934a17 backend: Exports internal config as a constant
Refactors the internal configuration to be exported as a constant,
improving code modularity and preventing accidental modifications.

Updates all files that use the internal config to import the constant
instead of the default export.
2025-10-16 17:33:55 +02:00
Carlos Santos
8c110da405 backend: Exports new path utility functions
Makes path utilities available for use.
2025-10-16 16:55:45 +02:00
Carlos Santos
95fa4f119a frontend: Renames package
Updates the frontend package name to align with the monorepo structure.

This change ensures consistency across the project and simplifies dependency management.
2025-10-16 16:06:46 +02:00
Carlos Santos
999793d148 backend: Refactors package name
Renames the backend package to align with monorepo structure.

Updates package references and scripts to use the new package name.

Ensures consistent naming and improves project organization.
2025-10-16 16:05:26 +02:00
Carlos Santos
0274308460 frontend: Refactors shared components import paths 2025-10-16 14:10:36 +02:00
Carlos Santos
6edb2b47a8 Adds necessary frontend dependencies
Imports dependencies for meeting scheduling tasks.

Updates the dev script to ensure components are properly installed and cleaned up.
2025-10-16 13:10:50 +02:00
Carlos Santos
3d4f04feb1 Migrate to pnpm
chore: migrate project to pnpm and update workspace configuration

- Added pnpm workspace configuration in pnpm-workspace.yaml to manage packages.
- Updated prepare.sh script to use pnpm for installing and building packages.
- Modified testapp/package.json scripts to use pnpm instead of npm.
- Enhanced tsconfig.client.json and tsconfig.json with additional options and exclusions.
- Updated typings README.md to reflect the use of pnpm for installation and building.

streamline build process in prepare script and update dependency installation

Refactor code structure for improved readability and maintainability

refactor: optimize Dockerfile for better layer caching and dependency installation

refactor: migrate typings from '@lib/typings/ce' to '@openvidu-meet/typings'

- Updated imports across multiple components and services to use the new '@openvidu-meet/typings' package.
- Removed legacy typings references and adjusted paths in the frontend and webcomponent projects.
- Cleaned up the typings package structure and added build scripts for TypeScript.
- Removed the sync-types.sh script as it is no longer needed with the new structure.
- Updated README and package.json files to reflect the new package name and structure.
feat: add nodemon configuration for API documentation updates and enhance development scripts

feat: implement type checking in watch mode and update development scripts

feat: enhance development scripts with wait-for-typings and watch-typings utilities

fix: remove obsolete sync:backend script and enhance dev script with preserveWatchOutput option

feat: enhance development scripts with typings guard and improve watch behavior

Refactors build and dev scripts

Simplifies and consolidates build and development-related scripts for improved maintainability.

- Updates the build process to be more streamlined.
- Improves the development workflow by consolidating common tasks.
- Removes redundant scripts.

Replaces prepare script with meet script

Replaces the old `prepare.sh` script with a new `meet.sh` script to provide a more user-friendly and comprehensive interface for building and managing the project.

- Integrates command-line arguments for different build targets.
- Includes documentation generation for web components and REST APIs.
- Provides improved error handling and user feedback.
- Simplifies the build process with `pnpm`.

chore: update typescript version to 5.9.2 across multiple package.json files
refactor: replace constructor injection with inject function for AppDataService

feat: add commands to build webcomponent and run unit tests

meet.sh: add end-to-end testing support for webcomponent with optional Playwright browser installation

chore: update pnpm version to 10 and streamline test commands in workflows

meet.sh: rename build_webcomponent_only to build_webcomponent and streamline dependency installation

gitignore: add test-results directory to ignore list

meet.sh: rename build_webcomponent_only to build_webcomponent for consistency

Updated pnpm-lock.yml

refactor: streamline build scripts and enhance service start options in meet.sh

ci: update OpenVidu Meet actions to use meet-pnpm-migration version

refactor: update import paths for WebComponentCommand and WebComponentEvent to use shared typings

fix: add moduleNameMapper for typings path in jest configuration

fix: correct action version syntax for OpenVidu Meet setup in workflow

fix: update typings imports to use shared @openvidu-meet/typings package

fix: add skip-install and skip-typings options to meet.sh and update workflows

meet.sh: add development mode command and update start services options

fix: format code in meeting.component.ts and remove unused export in public-api.ts

added openvidu-components-angular to the local workspace and watch for changes in dev mode

fix: update Node.js action to v5 and streamline build steps in wc-unit-test.yaml

fix: remove pnpm install from build scripts in package.json

fix: update backend unit test workflow and add test unit command in meet.sh

fix: update unit test command in package.json to use pnpm exec

Updates import path for LiveKit permissions

Updates the import path for LiveKit permissions to align with the new typings package location, ensuring the test suite remains functional after the project's dependencies are migrated.

fix: remove redundant dependency installation and build steps in start_services function

fix: update Node.js setup action version and adjust OpenVidu actions for pnpm migration

fix: update tsconfig.json to exclude specific type declaration paths

fix: remove deprecated dependencies and update openapi-generate-html version

fix: update build messages and streamline start commands for production and CI modes

fix: update OpenVidu Meet and Testapp actions to use main branch and streamline pre-startup commands

Refactors type import for auth mode

Updates the import path for the authentication transport mode type.

This change ensures consistency across the application by using a centralized type definition.

Refactors backend integration tests

Streamlines the backend integration test workflow.

Consolidates test jobs for better organization and efficiency.
Leverages matrix testing for recordings API with different storage providers.
Improves AWS runner management for recording tests.
Adds artifact cleanup to prevent storage bloat.

Sets up Node.js and pnpm

Adds Node.js and pnpm setup steps to the integration test workflow.

This enables the use of pnpm for managing dependencies during integration tests.

Refactors test commands to use pnpm exec

Updates the test commands in package.json to use `pnpm exec`
for running Jest.

This ensures that the Jest CLI is executed within the pnpm
managed environment, resolving potential path and dependency
issues.

Refactors imports to use the new typings package

Updates imports to use the new `@openvidu-meet/typings` package.
Removes now-unnecessary module name mappings.

This change is part of the pnpm migration, ensuring correct
resolution of shared types.

Enhances backend integration tests and updates Node.js setup

Simplifies integration tests execution

Updates integration test scripts to streamline execution.

- Uses a single, parameterized script to run all backend integration tests.
- Removes redundant prefixes from test script names.

Refactors jest configuration to include moduleNameMapper for improved module resolution

Updates Jest integration test commands to use experimental VM modules and adjusts TypeScript root directory settings for better output structure

Ensures OpenVidu Meet logs are uploaded

Guarantees OpenVidu Meet logs are uploaded as artifacts, regardless of test outcome.

Moves log upload to ensure consistent capture, and does so for all test scenarios.

Commented backend integration tests

Fix build script to specify TypeScript configuration file

Refactor integration test command to use pnpm bin for jest execution

Update integration test commands to use relative paths for Jest execution

Revert "Commented backend integration tests"

This reverts commit 1da8cddb55e29036c2a816244f4bc8b665ede581.

Change log upload condition to trigger on failure for OpenVidu Meet logs

Add caching step for OpenVidu local deployment images in backend integration tests

Revert "Add caching step for OpenVidu local deployment images in backend integration tests"

This reverts commit bf4692d168c671100a88c09853a460ec5417979d.

Enhance AWS runner setup with storage provider matrix and update job names for clarity

Refactor AWS runner setup to separate jobs for S3, ABS, and GCS, enhancing clarity and maintainability

Update README.md to enhance structure and clarity, including detailed sections on prerequisites, getting started, development, and documentation.

Refactor Dockerfile and entrypoint script, remove deprecated image creation scripts, and enhance meet.sh with Docker build functionality and base href support

Update README.md to reflect changes in Docker image build commands using meet.sh

Update package.json to correct versioning and remove redundant entries

Added browser sync for live reloading

chore: update @typescript-eslint packages to version 8.46.1 in frontend and pnpm-lock.yaml

fix: correct argument skipping logic and ensure typings are built in install_dependencies function

Adapt project structure

backend: add TypeScript type annotations for Router instances in route files

fix: update path for nodemon configuration in dev:rest-api-docs script

fix: update paths in webcomponent documentation generation scripts

fix: update Dockerfile and entrypoint script for correct directory structure and improve error handling

fix: update .dockerignore and Dockerfile for improved directory handling and permissions; add backend type checker script

Added all tests files

Updates OpenVidu Meet action refs to main

Updates the OpenVidu Meet GitHub Action references
in the CI workflows to point to the `main` branch.

This ensures that the workflows use the latest version
of the action.
2025-10-15 17:42:04 +02:00