Files
CODE_ASSISTANT/docs/troubleshootings/2026-09-10-tauri-webview-detection.md
T
2026-09-16 17:22:14 +09:00

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 스니펫 저장소 구현은 별도 미완료 항목임.