Skip to content

Add call recording playback URLs#13

Merged
DebdipWritesCode merged 1 commit into
mainfrom
codex/fix-recording-playback-url
Jun 12, 2026
Merged

Add call recording playback URLs#13
DebdipWritesCode merged 1 commit into
mainfrom
codex/fix-recording-playback-url

Conversation

@rahuliitk

Copy link
Copy Markdown
Contributor

Summary

  • Sign stored S3 recording keys before returning call logs to the console.
  • Add a shared recording player with explicit Play/Pause and Download buttons.
  • Cover the signing behavior with a focused server test.

Why

LiveKit stores completed recordings as S3 object keys such as Voice-agents/Recordings/<id>.ogg. The console was passing that raw key into <audio src>, so even after recording upload works, the browser would not have a playable URL.

This change makes GET /calls and GET /calls/:id return a presigned playback URL for any stored S3 recording key. Existing null values and already-signed/absolute URLs are left unchanged.

Validation

  • pnpm --filter server exec tsx --test tests/calllogs/calllog.service.test.ts
  • pnpm --filter server check-types
  • pnpm --filter server build
  • pnpm --filter console exec eslint src/components/calls/AudioPlayer.tsx
  • pnpm --filter console build
  • git diff --check

Notes

  • pnpm --filter console lint still fails on an unrelated existing error in apps/console/src/hooks/queries/mcp.ts (prefer-const for intervalId). The changed AudioPlayer file passes targeted lint.
  • This depends on the Terraform recording-storage env PR adding S3_BUCKET_NAME to the server container.

@DebdipWritesCode DebdipWritesCode merged commit 598c942 into main Jun 12, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants