docs: V2-6차 [F~J] 데스크톱 Mac 동작 안정화 (sidecar/keylabel/import/beep/port)
This commit is contained in:
parent
971906bc83
commit
d7405a4203
1 changed files with 5 additions and 0 deletions
|
|
@ -127,6 +127,11 @@ V2 6차 고도화 (2026-04-11):
|
|||
- [C] ✅ 회의 오디오 재생 — `meeting-audio-player.tsx` (Storage signed URL 1h TTL → `<audio controls>`), `/meetings/[id]` AUDIO 카드
|
||||
- [D] ✅ Dashboard 14일 추이 차트 — recharts LineChart (회의/문서 수 일별 집계), 이번 주 stat 자동 계산
|
||||
- [E] 🐛 fix(desktop): macOS 단축키 표기 — `format-hotkey.ts` 신규 (플랫폼별 segment 변환). preload `electronAPI.platform` 노출. macOS는 `⌃ ⌥ ⇧ ⌘` (Apple HIG 순서) + 구분자 없음 (`⌘⇧1`), Win/Linux는 `Ctrl + Shift + 1`. SettingsModal/OnboardingModal/DashboardPage/HotkeyRecordModal 모두 `binding.displayLabel` 직접 참조 → `formatHotkeyLabel/Segments(binding)`로 교체. displayLabel split 버그(저장 시 `'+'` join, 표시 시 `' + '` split 불일치)도 함께 해소.
|
||||
- [F] 🐛 fix(desktop): Mac sidecar 부팅 — 시스템 python3에 numpy 등 deps 없어서 매번 ModuleNotFoundError. `apps/desktop/sidecar/.venv/` 신규(gitignored), faster-whisper/fastapi/uvicorn/python-multipart/numpy 설치. `paths.ts.getSidecarCommand`가 venv python 우선 사용 (macOS `.venv/bin/python3`, Win `.venv/Scripts/python.exe`).
|
||||
- [G] 🐛 fix(desktop): HotkeyRecordModal 칩 'WIN' 표기 잔존 — `getKeyName`이 KEY_DISPLAY_MAP(Windows 전용 91/92→'Win') 사용. `format-hotkey.ts`의 `keyCodeToName/getPlatform` export → modal에서 호출. `'Shift + Win + 1 — 저장' ` 안내 텍스트도 mac에서 구분자 없이 결합.
|
||||
- [H] 🐛 fix(desktop): `hideRecordingTip is not defined` ReferenceError — `bootstrap.ts`의 WindowManager import 목록에 `hideRecordingTip`/`updateRecordingTipState` 누락. session-cancelled/error 핸들러에서 호출 → ReferenceError로 RecordingTip 팝업이 닫히지 않는 누적 버그. import 추가.
|
||||
- [I] 🐛 fix(desktop): 핫키 누를 때 macOS 시스템 beep — uiohook-napi는 글로벌 모니터링만 하고 OS swallow 안 함. 키가 받는 곳 없어 NSBeep 발생. `HotkeyService`에 Electron `globalShortcut` 통합. `bindingToAccelerator(binding)`이 Windows VK + modifier → Electron Accelerator string 변환 (mac은 `Cmd`, win은 `Super`). `globalShortcut.register(accel, noop)`로 OS swallow + uiohook은 그대로 hold/release 처리. `HotkeyConfig.acceleratorString` 필드 추가. unregister/stop에서 cleanup. 단일 modifier 키만 등록 시(Right Alt 단독 등) accelerator 변환 불가하면 globalShortcut 건너뛰고 uiohook만 사용.
|
||||
- [J] 🐛 fix(desktop): sidecar 동적 포트 + orphan 충돌 — dev mode HMR 재시작 시 이전 sidecar python이 orphan으로 18765 점유. 새 main이 spawn하면 EADDRINUSE로 즉시 exit. `LocalSTTService._findFreePort(start, max=20)` 추가 (`net.createServer().listen(port, '127.0.0.1')`로 free 포트 탐색), spawn 진입 시 `this._port` 동적 갱신. health/load/transcribe URL이 자동으로 새 포트 사용.
|
||||
|
||||
## SaaS 아키텍처 진단 (2026-04-11)
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue