SIGN IN SIGN UP

Add a native video player to call recording transcripts (#24518)

## Summary

Adds the native call-recording video surface without introducing
playback synchronization.

- renders the recording with the browser-native video player
- gates video access on the existing recording permissions
- adds the shared query/header actions and attachment count used by the
widget
- makes the transcript/video layout fill the available height
- covers loading, error, permission, and playback-rendering states

## Stack

- #24517 — HTTP range streaming
- **#24518 — native call-recording video player (this PR)**
- #24519 — transcript/playback synchronization

**2 of 3** — base: `ehco/file-http-range-streaming`

Depends on #24517. Transcript seeking, active-word highlighting, and
follow-scroll are intentionally excluded and added in #24519.



https://github.com/user-attachments/assets/a054e6eb-630d-4874-a6bb-fd7d3d67e8f7



## Test plan

- focused frontend Jest suites: 56 tests passed
- focused host Storybook interactions: 10 tests passed
- `npx nx run twenty-front:lint:diff-with-main`
- direct `tsgo --noEmit` in `twenty-front`

## Review notes

Review this PR as a static media/UI slice: permission and error states,
native-player lifetime, header actions, and layout. There is no
transcript-to-video coupling in this layer.
N
nitin committed
4e3d4ca76f3a918d1a8b5888f46eb2e4e64520e4
Parent: e27f01a
Committed by GitHub <noreply@github.com> on 8/25/2026, 12:38:58 PM