1.3 KiB
1.3 KiB
Tauri 앱이 떠 있어도 스니펫 단축키 화면 전환이 안 됨
원인
Windows Tauri도 WebView2를 사용해서 window.chrome.webview가 존재함. 기존 호스트 판별은 이 객체만 보고 닷넷 통로를 선택했음. Rust의 bridge 이벤트를 구독하지 않아 Ctrl+Shift+7로 창은 표시해도 /snippet으로 이동하지 못함. route 보고와 Esc도 같은 오판의 영향을 받음.
설치된 wry-0.55.1/src/webview2/mod.rs:885에서 Tauri 기반 웹뷰가 window.chrome.webview.postMessage를 사용하는 것을 확인함. 이전 테스트는 두 객체가 공존할 때 닷넷을 우선하는 잘못된 기대를 갖고 있었음.
수정
webview()가 Tauri의 invoke 존재 여부를 먼저 확인하고, Tauri이면 닷넷 전용 통로를 반환하지 않도록 수정. 기존 공통 접근자를 통해 이벤트 구독과 창 제어 모두 Tauri 통로로 연결함.
검증
- Windows처럼 두 객체가 공존하는 회귀 테스트에서 수정 전 화면 이동·창 숨김 2개 실패를 재현함.
- 수정 후 전체 43개 테스트 파일, 243개 테스트 통과.
- 실행 중 Vite의 변경 반영과 페이지 재로드 로그 확인.
- 실제 단축키 입력에 따른 화면 전환은 사용자 확인이 남음. Tauri 스니펫 저장소 구현은 별도 미완료 항목임.