# Tauri 단축키 마이그레이션 점검 ## 원인 - 닷넷 `App.xaml.cs`는 Ctrl+Shift+7/8/9, Tauri `lib.rs`는 동시 비교용 Ctrl+Alt+7/8/9를 등록하고 있었음. - 프론트 `bridgeNavigate.ts`가 `chrome.webview`만 구독해서 Rust `bridge` 이벤트를 받지 못함. - `webviewBridge.ts`도 닷넷에만 전송해서 현재 route 보고와 Esc 창 숨김이 Tauri에서 무반응이었음. ## 수정과 대조 결과 | 키 | 닷넷 동작 | Tauri 점검 결과 | |---|---|---| | Ctrl+Shift+7 | 스니펫 소환, 검색창 포커스 | 조합 수정, 화면 이동·동일 route 재소환 이벤트 연결. 저장소는 여전히 미구현 | | Ctrl+Shift+8 | 챗봇 표시/숨김, 마지막 비스니펫 route 복귀 | 조합 수정, 현재 route 보고·이동 수신 연결 | | Ctrl+Shift+9 | 영역 선택 → 새 대화에 이미지 첨부 | 조합만 수정. Rust 캡처 핸들러는 여전히 로그만 남기는 스텁 | | Esc | 목록 검색 초기화 후 창 숨김, 대화 화면에서는 목록 복귀 | 같은 React 코드 사용. 누락된 Tauri 창 숨김 전송 연결 | | Ctrl+N | 새 대화 | 같은 SnapLayout 코드 사용 | | ↑/↓, Enter | 대화 목록 선택/열기 | 같은 SessionListPage 코드 사용 | | Enter / Shift+Enter | 메시지 전송 / 줄바꿈 | 같은 Composer 코드 사용 | | 스니펫 ↑/↓, F2, Ctrl+N, Ctrl+←/→ | 선택, 편집, 생성, 분류 이동 | 같은 React 핸들러. 데이터 요청 통로·Rust 저장소 미구현으로 전체 사용 흐름은 미완료 | | 스니펫 Enter | 직전 앱에 붙여넣기 | Rust paste_code가 스텁. 단축키 변경만으로 해결되지 않음 | 스니펫 핸들러 주석의 Alt+숫자는 실제 분기에 없음. 두 호스트가 공유하는 기존 프론트의 상태이므로 마이그레이션 누락과 구분함. ## 검증 - 공식 Tauri mockIPC 및 이벤트 mock으로 현재 route 보고, 숨김, 화면 이동, 같은 route 재소환, 중복 구독 방지, 닷넷 우선, 브라우저 no-op 확인. - 프론트 전체 테스트 43파일·242개 통과. - 프론트 프로덕션 빌드 통과. 전체 lint는 기존 FileDropZone·skill-mapping 오류 10개와 경고 10개로 실패했고, 이번 변경 파일의 오류는 없음. - `cargo test --locked` 통과. Rust 테스트 0개이므로 실제 키 입력 검증을 뜻하지 않음. - 네이티브 실제 키 입력 검증은 미실시. 기존 요청에 따라 Computer Use는 사용하지 않음. ## 남은 사항 - 닷넷과 Tauri를 함께 실행하면 같은 키를 선점하므로 한 번에 한 호스트로 확인해야 함. 기존 비교용 Ctrl+Alt 조합 정책은 이번 사용자 요청으로 대체됨. - 핫키 등록 실패 안내는 닷넷 트레이 알림과 달리 Tauri 콘솔 로그만 있음. - 저장소·직전 앱 붙여넣기·캡처 구현은 `specs/004-tauri-shell/tasks.md`의 미완료 항목으로 유지.