## 2026-06-03 — 즐겨찾기: 실행파일을 OS 파일 탐색으로 등록 (웹 포함)

### 배경

즐겨찾기(실행 파일) 등록은 대상 경로를 **직접 타이핑**해야 했다. 워크스페이스(프로젝트) 폴더를 고를 때처럼 파일 탐색기로 골라 등록하고 싶었고, Electron 앱뿐 아니라 **웹 브라우저에서도** 동일하게 동작해야 했다.

### 주요 변경

#### 1. 서버 측 네이티브 파일 선택 (`29a391f`, `5805932`)

- 프로젝트 폴더 선택(`POST /api/projects/browse`)과 **같은 방식** — 서버 호스트에서 OS 네이티브 다이얼로그를 띄움(로컬 앱이라 서버=내 PC). 이 덕분에 브라우저에서도 동작.
- **`src/server/lib/native-picker.ts`**(신규): `pickFile()` — Windows `IFileDialog`(폴더 피커에서 `FOS_PICKFOLDERS`만 제거해 파일 선택), macOS `choose file`(osascript), Linux `zenity`/`kdialog`. 선택 경로를 forward-slash로 정규화 반환.
- **`POST /api/favorites/browse-file`**: 다이얼로그를 열어 선택된 절대경로 반환(취소 시 `null`).
- **클라이언트**: `FavoriteForm`의 실행 파일 대상 입력 옆 **"찾아보기"** 버튼(웹/앱 공통). 고른 경로를 채우고, 이름이 비어 있으면 파일명으로 자동 채움.

> 초기 구현은 Electron 전용 IPC 다이얼로그였으나(웹에서 숨김), 위 서버 방식으로 통일하면서 해당 IPC는 되돌렸다.

### 수정된 주요 파일

| 파일 | 변경 내용 |
|------|----------|
| `src/server/lib/native-picker.ts` | 신규 — OS 네이티브 "파일 열기" 다이얼로그 |
| `src/server/routes/favorites.ts` | `POST /api/favorites/browse-file` |
| `src/client/src/components/FavoriteForm.tsx` · `api/favorites.ts` | "찾아보기" 버튼 + `browseFavoriteFile` |
