UI 복잡 버전 234 RED→GREEN 완료(docs/UI_USECASES.md §A~§J): 라이브 테마 전환(DynamicResource 전환+ThemeResolver+HighContrast 테마, 재시작 없음), 디자인 토큰 체계·WCAG 대비 결함 5건 수정, 설정창 카테고리 내비/검색 재구성+AppConfig 40여 속성, 다운로드 관리자(속도/ETA/세그먼트맵/전체 일시정지-이어받기/CSV 내보내기/예약 게이트/중복 확인), 라이브러리·아카이브·작업공간·재생목록·즐겨찾기 편집 뷰, 접근성(자동화 속성 30여 개·커스텀 피어·docs/ACCESSIBILITY.md), 인터랙션(휠 클릭 새 탭·XButton 탐색·F12·영역 캡처·프로필 전환), 상태/알림(토스트·알림센터·온보딩·CrashReportDialog). 보강 테스트 35건+실창 E2E 4건(StaDispatcher 기반 — 프록시 설정이 기시작 핸들러를 건드리는 크래시 실결함 수정 포함) — 453/453 GREEN. 이전 미커밋 작업(CI 워크플로·Mdns·QueueHub·UpdateChecker·AGENTS/CLAUDE·빌드 스크립트) 일괄 포함

This commit is contained in:
Yun Chan 2026-08-17 15:54:53 +09:00
parent 5a0ce730b2
commit 17f2f91152
88 changed files with 9463 additions and 1127 deletions

View file

@ -164,16 +164,48 @@ jobs:
---
## 7. 로드맵 (배포 관점)
## 7. 로드맵 (배포 관점) — 진행 상태 2026-08-16
| 단계 | 내용 | 전제 |
|---|---|---|
| D1 | 리포지토리 GitHub 공개 + `release.yml`(test→win x64/arm64→draft) — **현재 Windows 체계를 CI 로 이식** | 없음 (즉시) |
| D2 | Android APK 잡 추가 (M1 완료 시점) | M1 |
| D3 | Linux tar.gz/AppImage/deb 잡 (Avalonia 셸 Gate #1' 통과 후) | 크로스플랫폼 셸 |
| D4 | macOS DMG + 서명·공증 잡 (Developer Program 가입 후) | $99/년 + Gate #1' |
| D5 | iOS TestFlight 잡 | M3 |
| D6 | 자동 업데이트 v1(태그 폴링) → v2(Velopack) | D1 이후 언제든 |
| 단계 | 내용 | 전제 | 상태 |
|---|---|---|---|
| D1 | 리포지토리 GitHub 공개 + `release.yml`(test→win x64/arm64→draft) — **현재 Windows 체계를 CI 로 이식** | 없음 (즉시) | ◐ `.github/workflows/release.yml` 작성 완료(test 관문→win/linux/macos/android→Draft). **GitHub 공개는 사용자 결정 대기**(현재 로컬 git, remote 없음) |
| D2 | Android APK 잡 추가 (M1 완료 시점) | M1 | ✅ release.yml 에 포함(키스토어 시크릿 없으면 미서명 APK) + `build/obtainium.json` |
| D3 | Linux tar.gz/AppImage/deb 잡 (Avalonia 셸 Gate #1' 통과 후) | 크로스플랫폼 셸 | ◐ tar.gz 잡 포함(§2.4 폴백 형태 = "링크 붙여넣기 다운로더" 셸). AppImage/.deb 와 브라우저 셸은 Gate #1' 통과 후 |
| D4 | macOS DMG + 서명·공증 잡 (Developer Program 가입 후) | $99/년 + Gate #1' | ⛔ **외부 전제 차단**: Apple Developer Program 가입 필요. tar.gz 무서명 잡까지는 준비됨 |
| D5 | iOS TestFlight 잡 | M3 | ⛔ **외부 전제 차단**: 동일(Apple). release.yml 에 `ENABLE_IOS` 변수 게이트로 잡 스캐폴드 포함 |
| D6 | 자동 업데이트 v1(태그 폴링) → v2(Velopack) | D1 이후 언제든 | ✅ v1 구현: `Core/Update/UpdateChecker`(latest 태그 비교+RID별 자산 선택, 테스트 6건) + 설정창 "앱 업데이트" 섹션. v2(Velopack)는 후순위 유지 |
## 7.5 잔여 단계 실행 런북 (사용자 액션 — 2026-08-16 준비 완료)
남은 것은 전부 **사용자 결정/계정이 필요한 항목**이며, 결정 즉시 실행되도록 아래에 준비돼 있다.
### D1 후반 — 저장소 GitHub 공개 (결정만 하면 됨)
**보안 전제 점검 통과(2026-08-16)**: `.env` 는 git 히스토리 전체에 커밋 이력 0건,
`.gitignore:54` 로 차단 중. 히스토리 비밀 패턴 스캔(cloudflare/sshpass/private key) 히트는
`.env.example`(빈 값 템플릿)뿐 — 공개해도 유출 없음.
```powershell
gh repo create <owner>/videodownloader --public --source . --push # 또는 --private 로 시작
git tag v1.0.0 && git push origin v1.0.0 # → release.yml 자동 실행(Draft)
```
공개 후 마무리 3가지:
1. `build/obtainium.json` · README 의 `<owner>/<repo>` 치환
2. (선택) Android 서명: 시크릿 `ANDROID_KEYSTORE`(base64)/`ANDROID_KEY_ALIAS`/`ANDROID_KEY_PASS` 등록
3. 설정창 "앱 업데이트"에 `owner/videodownloader` 입력 → D6 v1 폴링 활성
### D4 — macOS 서명·공증 (Apple Developer Program 가입 후)
1. https://developer.apple.com/programs/enroll/ 가입($99/년)
2. Developer ID Application 인증서 발급 → 시크릿 `MACOS_P12`(base64)/`KEYCHAIN_PASS`/`NOTARY_PROFILE` 등록
3. `release.yml` macos 잡의 "D4" 주석 스텝을 §2.2 파이프라인(codesign→notarytool→stapler→DMG)으로 교체
### D5 — iOS TestFlight (동일 가입 후)
1. App Store Connect 에서 앱 생성 + 배포 인증서/프로비저닝 → 시크릿 `IOS_SIGNING_KEY`/`IOS_PROVISION`
2. `PrivacyInfo.xcprivacy` 추가(ITMS-91053 예방, §3.2) 후 저장소 변수 `ENABLE_IOS=true` → ios 잡 활성
3. 심사 메모: "사용자 소유 PC 원격 제어" 프레이밍 + 자기 PC 연결 데모 영상(§3.2)
## 8. 리스크 요약