fix(voice): 받아쓰기 파이프라인 4버그 수정 + 실시간 부분 전사
- press가 STT 초기화를 await하며 action queue 점유 → release 수십 초 지연· 유령 세션 반복 버그 수정 (initSTT fire-and-forget) - 프리플라이트: STT 모델 미설치 시 즉시 에러 + 메인 UI 경고 + 온보딩 오픈 - 사이드카: 기동 중 프로세스 사망 시 30초 대기 없이 즉시 실패, restartCount 리셋, error 리스너 부재 미처리 예외 방지 - 실시간 부분 전사: 1.5s 간격 interim → RecordingTip에 말하는 내용 미리보기 - Ollama 미가용 후처리 스킵 시 warning 배너, voice:error 브로드캐스트 신설
This commit is contained in:
parent
e0a1864e60
commit
fd46ac7b14
13 changed files with 280 additions and 16 deletions
|
|
@ -2,6 +2,25 @@
|
|||
|
||||
> 마지막 갱신: 2026-07-21 (Whisper large-v3-turbo 전환 + 온보딩 2단계 부트스트랩)
|
||||
|
||||
## 받아쓰기 파이프라인 4버그 수정 + 실시간 부분 전사 (2026-07-21 /goal) ✅
|
||||
|
||||
### 증상 → 근본 원인 (로그 실측)
|
||||
1. "전사가 안 되는데 되는 것처럼 보임" + 4. "키를 떼도 안 끝남": **press 액션이 STT 초기화(사이드카 죽으면 30초 헬스 타임아웃)를 await하며 action queue를 점유** → release가 수십 초 지연, 연타한 press들이 큐에 쌓여 30초 간격 유령 세션 반복(마이크 게이지는 동작해 "되는 척"). 트리거는 dev 사이드카 의존성 미설치(venv 부재)였지만 구조 결함이 본질.
|
||||
2. 사이드카 crash 루프: 재시작 카운트가 MAX(3) 초과해도 세션마다 재spawn + `emit('error')` 리스너 부재로 ERR_UNHANDLED_ERROR 미처리 예외.
|
||||
|
||||
### 수정
|
||||
- **VoiceModeService**: `_initSTT()`를 fire-and-forget으로(await 제거 — release 즉시 처리), **프리플라이트**(STT 모델 미설치 시 즉시 에러+경고), **실시간 부분 전사 루프**(1.5s 간격, 최근 12초 윈도우, interim 실패 무시·최종 전사가 진실), Ollama 미가용 후처리 스킵 시 warning 이벤트
|
||||
- **LocalSTTService**: 헬스체크 중 프로세스 사망 감지 → 30초 대기 없이 즉시 실패, 헬스 성공 시 restartCount 리셋, 기본 error sink로 미처리 예외 방지
|
||||
- **voice-handlers**: VoiceMode 'error' → `voice:error` 브로드캐스트(severity 포함, 설계서 02 채널)
|
||||
- **AppLayout**: voice.onError 구독 → 에러/경고 스낵바 + 모델 미설치(101)면 온보딩 자동 오픈. i18n 3키(ko/en)
|
||||
- **RecordingTip 팝업**: 부분 전사 표시 영역 추가(2줄 클램프, 팝업 320x110), `voice:partialTranscript` 채널
|
||||
- dev 환경: sidecar venv 구축 (재발 방지)
|
||||
|
||||
### E2E 실측 (dev, GPU cuda float16 + large-v3-turbo 로컬 디렉토리 로드)
|
||||
- 콜드: 모델 로드 3.4s, 전사 5.6s→2.3s / 웜: 전사 0.5~1.0s
|
||||
- 10초 홀드: interim 2회 발동(부분 전사 팁 전송) → 릴리스 1ms 내 캡처 중지 → 최종 전사 → 텍스트 삽입 43자 → WAV 저장
|
||||
- vitest 41/41 (VoiceModeService mock에 getModels 추가)
|
||||
|
||||
## UI 전면 리디자인 "Midnight Glass" v2 (2026-07-21) — 기반 완성 ✅
|
||||
|
||||
### 방향 (사용자 레퍼런스 이미지 기반, /goal)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue