fix(desktop): Bug 13 전면 해소 — Conversation 에러 배너 + Dictation 빈 STT 가드 + recording tip 타이머 leak
- VoiceConversationPage: Snackbar + Alert(severity=warning filled) 하단 중앙
배너 추가, onError 콜백에서 setErrorBanner. formatErrorMessage 헬퍼 —
phase=stt + 'no speech' → i18n conversation.error.noSpeech, 그 외 →
phaseLabel: rawMessage.
- VoiceModeService._transcribe: minBytes 가드(0.5s @ 16kHz 16bit mono =
16000B) + 빈 result.text 가드. 양쪽 모두 _handleError(STTAudioTooShort /
STTNoAudioData, 'No speech detected...')로 recording-tip popup error
상태 3초 표시 재사용. 기존에는 빈 전사가 조용히 session completed +
빈 history entry 생성되던 경로 차단.
- VoiceModeService._errorHideTimer 필드: _handleError의 setTimeout(hide, 3000)
핸들 보관, _startSession 초기화 블록과 dispose()에서 clearTimeout. 다음
세션 시작 후에도 이전 에러 타이머가 살아 진행 중인 recording tip을 ~2초
지점에 숨기던 잠재 버그 수정 (실측 재현 및 해소 확인).
- i18n ko/en: conversation.error.phase.{stt,llm,tts} + conversation.error.noSpeech
4개 키 추가.
This commit is contained in:
parent
16aaf37956
commit
a744551442
4 changed files with 87 additions and 5 deletions
|
|
@ -387,6 +387,10 @@
|
|||
"conversation.recording.hint": "SPEAK NOW · PRESS ⏹ TO SEND",
|
||||
"conversation.thinking.placeholder": "Waiting for response…",
|
||||
"conversation.state.recording": "RECORDING",
|
||||
"conversation.error.phase.stt": "Speech Recognition",
|
||||
"conversation.error.phase.llm": "Response",
|
||||
"conversation.error.phase.tts": "Voice Playback",
|
||||
"conversation.error.noSpeech": "No speech detected. Check your microphone and try again.",
|
||||
"nav.knowledge": "Knowledge",
|
||||
"rag.title": "Knowledge Base",
|
||||
"rag.addDocument": "Add Document",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue