From 5cdc49d90cc3086d1b6586d6ef51dd1cd7a6002e Mon Sep 17 00:00:00 2001 From: CSantosM <4a.santos@gmail.com> Date: Wed, 21 Jan 2026 12:45:06 +0100 Subject: [PATCH] frontend: Adds live captions component Introduces a live captions feature using LiveKit's transcription service. This adds a new component that displays real-time transcriptions of the meeting audio in. It manages caption lifecycles, handles both interim and final transcriptions, and provides reactive signals for UI updates. --- .../domains/meeting/customization/index.ts | 1 + .../meeting-captions.component.html | 23 + .../meeting-captions.component.scss | 202 +++++++++ .../meeting-captions.component.ts | 106 +++++ .../meeting-custom-layout.component.html | 83 ++-- .../meeting-custom-layout.component.scss | 10 +- .../meeting-custom-layout.component.ts | 28 +- ...eting-toolbar-extra-buttons.component.html | 24 ++ ...eting-toolbar-extra-buttons.component.scss | 4 + ...meeting-toolbar-extra-buttons.component.ts | 16 +- .../domains/meeting/models/captions.model.ts | 73 ++++ .../src/lib/domains/meeting/models/index.ts | 2 + .../pages/meeting/meeting.component.ts | 13 + .../src/lib/domains/meeting/services/index.ts | 1 + .../services/meeting-captions.service.ts | 400 ++++++++++++++++++ 15 files changed, 936 insertions(+), 50 deletions(-) create mode 100644 meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/meeting-captions/meeting-captions.component.html create mode 100644 meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/meeting-captions/meeting-captions.component.scss create mode 100644 meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/meeting-captions/meeting-captions.component.ts create mode 100644 meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/models/captions.model.ts create mode 100644 meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/services/meeting-captions.service.ts diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/index.ts b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/index.ts index cd6ad358..188667b2 100644 --- a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/index.ts +++ b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/index.ts @@ -1,3 +1,4 @@ +export * from './meeting-captions/meeting-captions.component'; export * from './meeting-custom-layout/meeting-custom-layout.component'; export * from './meeting-invite-panel/meeting-invite-panel.component'; export * from './meeting-participant-item/meeting-participant-item.component'; diff --git a/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/meeting-captions/meeting-captions.component.html b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/meeting-captions/meeting-captions.component.html new file mode 100644 index 00000000..0257acb4 --- /dev/null +++ b/meet-ce/frontend/projects/shared-meet-components/src/lib/domains/meeting/customization/meeting-captions/meeting-captions.component.html @@ -0,0 +1,23 @@ +