feat: refine download UX and native host flow
This commit is contained in:
@@ -65,6 +65,13 @@
|
||||
- Step 4: 링크 자동 후킹을 Native Host 경로로 이관
|
||||
- Step 5: 오류 복구/로깅/설정 UX 정리
|
||||
|
||||
### Phase 7 (신규): 범주(Category) 기능
|
||||
- Step 1: 범주 기본 데이터 + 설정 토글 + Add 모달 범주 선택/경로 반영
|
||||
- Step 2: 범주 CRUD UI(이름/아이콘/확장자 룰)
|
||||
- Step 3: 좌측 범주 패널(카운트/필터/접힘 상태) 연동
|
||||
- Step 4: 확장/외부 요청 자동 분류 규칙 정교화
|
||||
- Step 5: 성능/UX/오류 피드백 상용 수준 마감
|
||||
|
||||
## 5. 리스크 및 대응
|
||||
- aria2 바이너리 번들/서명: 플랫폼별 바이너리 동봉 규칙 문서화 + CI 검증
|
||||
- Electron API 차이: 기능별 대체표를 먼저 만들고 Tauri plugin으로 대응
|
||||
@@ -89,6 +96,8 @@
|
||||
- `src-tauri/src/engine.rs` + `src/lib/engineApi.ts`: 파일관리자에서 경로 열기 커맨드(`open_path_in_file_manager`) 추가
|
||||
- `src-tauri/src/engine.rs`: task summary에 `uri` 노출 추가(링크 복사용)
|
||||
- `src/App.vue`: Motrix `TaskActions`/`TaskItemActions` 기능 매핑에 맞춘 상단/항목 아이콘 동작 연결
|
||||
- `src-tauri/src/lib.rs`: macOS 앱 시작 시 Native Host manifest/runner 자동 설치(`org.gdown.nativehost`)
|
||||
- `src/App.vue` + `src/style.css`: 범주 기능 Step 1(기본 토글/선택/적용 폴더 프리뷰 + Add 시 경로 자동 반영)
|
||||
- `src-tauri/src/engine.rs`: aria2 프로세스 시작/중지/상태 조회
|
||||
- `src-tauri/src/engine.rs`: 바이너리 자동 탐지 + 에러 분류 + 작업 제어 RPC 커맨드
|
||||
- `src-tauri/src/lib.rs`: Tauri invoke handler 연결
|
||||
|
||||
10
docs/TODO.md
10
docs/TODO.md
@@ -13,6 +13,12 @@
|
||||
- 고급 기능: 40~50%
|
||||
|
||||
## In Progress
|
||||
- [~] 범주(Category) 기능 단계 구현
|
||||
- [x] Step 1: 범주 기본 데이터/설정 토글/추가 모달 범주 선택 + 저장 경로 자동 반영
|
||||
- [ ] Step 2: 범주 관리 UI(추가/수정/삭제, 아이콘/확장자 규칙 편집)
|
||||
- [ ] Step 3: 좌측 범주 네비게이션/카운트/필터 연동
|
||||
- [ ] Step 4: 외부 연동/자동 캡처 시 범주 자동 매핑 고도화
|
||||
- [ ] Step 5: 범주별 통계/정렬/검색 UX 마무리
|
||||
- [~] Native Messaging 기반 브라우저 연동 전환 (Step-by-step)
|
||||
- [x] Step 1: Native Host 스캐폴드(프로토콜/설치 스크립트/템플릿 manifest)
|
||||
- [x] Step 2: 확장에서 Native Host 1차 연결(우클릭 + 자동 경로 공통 addUri)
|
||||
@@ -56,6 +62,10 @@
|
||||
- [ ] 탭별 빈 상태/오류 상태 문구 정리
|
||||
|
||||
## Done
|
||||
- [x] Native Host `addUri` 처리에서 앱 포커스/전환 동작 제거(큐 적재 전용 무중단 모드)
|
||||
- [x] Native Host 포커스 로직에서 `osascript/System Events` 제거, `open` 기반 포커스만 사용(자동화 승인 팝업 회피)
|
||||
- [x] macOS 앱 시작 시 Native Host(`org.gdown.nativehost`) 자동 설치/갱신 로직 추가
|
||||
- [x] 완료 작업 분류 보정: `active/waiting/stopped` 전 구간에서 완료 조건(`done>=total`)을 `다운로드 완료`로 집계
|
||||
- [x] 외부 링크 캡처 시 즉시 시작 대신 `Add 모달 확인 후 시작` 흐름으로 전환
|
||||
- [x] `gdown://` 스킴 미등록 환경 대응: Native Host -> 로컬 큐(`~/.gdown/external_add_queue.jsonl`) -> 앱 폴링 처리
|
||||
- [x] Native Host 설치/삭제/스모크 스크립트 추가 (`tools/native-host/install-macos.sh`, `uninstall-macos.sh`, `smoke.mjs`)
|
||||
|
||||
Reference in New Issue
Block a user