Skip to content

fix(voice): 음성 답변 content-type 거부 + 오디오 재생 불가 수정#73

Merged
i3months merged 1 commit into
devfrom
fix/voice-playback-upload
Jun 3, 2026
Merged

fix(voice): 음성 답변 content-type 거부 + 오디오 재생 불가 수정#73
i3months merged 1 commit into
devfrom
fix/voice-playback-upload

Conversation

@i3months

@i3months i3months commented Jun 3, 2026

Copy link
Copy Markdown
Member

증상(prod 로그/설정으로 확인):

  • 음성 답변 업로드가 VOICE_INVALID_CONTENT_TYPE 로 거부 — MediaRecorder 가 "audio/webm;codecs=opus" 를 보내는데 허용 목록은 base MIME 만 가짐.
  • "음성 듣기"/음성 재생 불가 — presigned URL 이 내부 호스트 (S3_ENDPOINT=http://minio:38060)를 가리켜 브라우저가 도달 불가.

백엔드:

  • VoiceAnswerUploadService: content-type 의 코덱 파라미터를 떼고 base MIME 으로 허용/확장자 판정(baseContentType)
  • InterviewMessageService.streamAudio + GET /api/sessions/{sid}/messages/{mid}/audio: Core 가 인증 거쳐 오디오 바이트 스트리밍(질문=TTS, 답변=원본). presigned 내부호스트 우회.

프론트:

  • submitVoiceAnswer: 업로드 전 코덱 파라미터 제거(방어)
  • useMessageAudio: 프록시로 blob 받아 object URL 캐싱
  • QuestionBubble/AnswerBubble: presigned URL 대신 프록시로 재생 (질문 자동재생/음성 듣기, 내 답변 듣기)

변경 사항

증상(prod 로그/설정으로 확인):
- 음성 답변 업로드가 VOICE_INVALID_CONTENT_TYPE 로 거부 —
  MediaRecorder 가 "audio/webm;codecs=opus" 를 보내는데 허용 목록은
  base MIME 만 가짐.
- "음성 듣기"/음성 재생 불가 — presigned URL 이 내부 호스트
  (S3_ENDPOINT=http://minio:38060)를 가리켜 브라우저가 도달 불가.

백엔드:
- VoiceAnswerUploadService: content-type 의 코덱 파라미터를 떼고
  base MIME 으로 허용/확장자 판정(baseContentType)
- InterviewMessageService.streamAudio + GET
  /api/sessions/{sid}/messages/{mid}/audio: Core 가 인증 거쳐 오디오
  바이트 스트리밍(질문=TTS, 답변=원본). presigned 내부호스트 우회.

프론트:
- submitVoiceAnswer: 업로드 전 코덱 파라미터 제거(방어)
- useMessageAudio: 프록시로 blob 받아 object URL 캐싱
- QuestionBubble/AnswerBubble: presigned URL 대신 프록시로 재생
  (질문 자동재생/음성 듣기, 내 답변 듣기)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
@vercel

vercel Bot commented Jun 3, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
stackup Ready Ready Preview, Comment Jun 3, 2026 3:53am

@i3months i3months merged commit 46dd930 into dev Jun 3, 2026
3 checks 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.

1 participant