16 Commits

Author SHA1 Message Date
Carlos Santos
115993fe69 frontend: adjust horizontal layout styles for improved spacing and responsiveness 2025-12-23 16:50:49 +01:00
Carlos Santos
8fbe8fb716 frontend: enhance hidden participants indicator to display names of hidden participants in both horizontal and vertical layouts 2025-12-23 13:08:25 +01:00
Carlos Santos
b4f482f9d7 frontend: enhance hidden participants indicator with improved layout and description text 2025-12-22 16:54:36 +01:00
Carlos Santos
3a83efa668 frontend: add hidden participants indicator component with responsive layouts 2025-12-22 14:12:17 +01:00
Carlos Santos
1abdc45ff3 frontend: Enhances custom layout screen sharing
Ensures screen sharing participants are always displayed, even if not active speakers.

Modifies the participant proxy to selectively hide camera tracks when a participant is only displayed for screen sharing.
This prevents unnecessary camera rendering in the custom layout.
2025-12-04 19:41:58 +01:00
Carlos Santos
5ef051658a frontend: Enhances smart mosaic layout
Improves the smart mosaic layout to enhance the user experience and performance.

- Updates participant rendering logic for smart mosaic layout.
- Optimizes audio track management to prevent audio leaks.
- Implements audio focus by selectively muting tracks for inactive speakers.
2025-12-04 17:30:25 +01:00
Carlos Santos
68c5ce7cd2 frontend: Refactors layout and feature configurations
Consolidates layout management into a dedicated component and service.

- Replaces layout selection logic with feature-based approach.
- Improves code readability and maintainability.
2025-12-01 16:55:54 +01:00
Carlos Santos
66b7f6026b frontend: Enhances smart mosaic layout configuration
Allows configuring the number of visible participants in Smart Mosaic layout mode using a slider.

The minimum and maximum number of participants are now configurable via constants.

Updates the slider to use value binding instead of ngModel.
2025-11-27 12:30:38 +01:00
Carlos Santos
f6abd1cb4c frontend: Refactor customization components
Moves the copy link button to a new component for additional toolbar buttons.

This allows for better organization and customization of the toolbar,
especially on mobile where space is limited. The "leave" button for
moderators is now separate.

Renamed components for better understanding and readability
2025-11-25 13:55:45 +01:00
Carlos Santos
bd021c9576 frontend: implement layout selector feature with conditional rendering in settings and toolbar 2025-11-25 13:55:45 +01:00
Carlos Santos
c3ca84ad66 frontend: remove unused meeting components plugins and action handler interfaces 2025-11-25 13:55:45 +01:00
Carlos Santos
153af9c673 frontend: enhance layout management with reactive settings and storage integration 2025-11-25 13:55:45 +01:00
Carlos Santos
c8cfb6598e frontend: add meeting settings panel and more options buttons for layout configuration 2025-11-25 13:55:45 +01:00
Carlos Santos
40475dc372 frontend: use content projection for configuring videoconference components
Refactored all components and services related to the meeting
2025-11-25 13:55:45 +01:00
Carlos Santos
fd998e7b6b frontend: implement MeetingLayoutComponent with reactive layout management and active speakers tracking 2025-11-25 13:55:44 +01: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