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:
parent
5a0ce730b2
commit
17f2f91152
88 changed files with 9463 additions and 1127 deletions
|
|
@ -216,4 +216,32 @@
|
|||
2. 공유 리팩터: `App/Detection/*`(순수C#) Core 이동; `ICookieProvider` 중립 추상화; `DownloadManager` 공유화(생성자→`ICookieProvider`); `BindingOperations.EnableCollectionSynchronization`→Avalonia 디스패처; `IAppPaths` OS별 경로.
|
||||
3~8. 브라우저+감지, 설정, 테마(Avalonia Styles 재작성), 보더리스 윈도우(`ExtendClientAreaToDecorationsHint`), ViewModels, 북마크/히스토리.
|
||||
9. Mac/Linux 패키징(`.app` 노타라이제이션, `.AppImage`/`.deb`); `YtDlpRunner`/`DenoRunner` OS/arch별 바이너리 확인. 10. 패리티 후 WPF 은퇴.
|
||||
- **참고**: 저장소가 git 아님 → Phase 2 병행 작업 격리 위해 `git init` 권장.
|
||||
- **참고**: ~~저장소가 git 아님 → `git init` 권장~~ → git 전환 완료.
|
||||
|
||||
## 9차 팔로업 (2026-08-16 완료) — 계획 문서 잔여 갭 소거 (SignalR·mDNS·자동 업데이트·CI)
|
||||
> 목표 "만들어진 모든 계획 문서 달성"에 따라 MOBILE_PLAN·DEPLOYMENT_PLAN 의 미이행 항목 일괄 구현.
|
||||
|
||||
- [x] **SignalR 큐 허브 `/hubs/queue`** — MOBILE_PLAN §3 아키텍처 항목. `QueueHub`(GetQueue 스냅샷) + `IQueueAdapter.Changed` → `queueUpdated` 전 클라이언트 푸시. 인증 미들웨어에 `/hubs` 편입(`t`/`access_token` 쿼리 허용) + `UseWebSockets`. 실 Kestrel E2E 로 접속·푸시·401 검증. (`Server/QueueHub.cs`, `ServerHost.cs`)
|
||||
- [x] **mDNS 광고 `_videodl._tcp`** — MOBILE_PLAN M0 항목. `MdnsAdvertiser`(Makaretu.Dns) + `ServerOptions.EnableMdns`(App 은 켬). 실패는 `ServerHost.MdnsError` 로 표면화(발견 보조 — 서버 기동 불가로 번지지 않게). Makaretu 가 TXT 에 ASCII 만 허용 → 한글 기기명은 퍼센트 인코딩(무손실), 인스턴스 라벨은 ASCII 접기. **광고→발견 실증**: 별도 브라우저 인스턴스가 `_videodl._tcp.local` 수신(RESULT=DISCOVERED). (`Server/MdnsAdvertiser.cs`)
|
||||
- [x] **자동 업데이트 v1** — DEPLOYMENT_PLAN §6/D6. `Core/Update/UpdateChecker`: GitHub Releases latest 태그 비교(관대한 v접두/4자리 파싱), RID별 설치 자산 선택(arm64 우선 배제 규칙), GitHub UA 규약. 설정창 "앱 업데이트" 섹션(`AppConfig.UpdateRepo`) — 새 버전이면 릴리스 페이지 열기(설치는 사람 관문). 가짜 핸들러 격리 테스트 + 실 창 UI 테스트.
|
||||
- [x] **CI 릴리스 파이프라인 스캐폴드** — DEPLOYMENT_PLAN §5/D1~D3. `.github/workflows/release.yml`: 태그 `v*` → test 관문(win) → Windows 설치자(x64/arm64, Inno) · Linux/macOS tar.gz(Cli+Avalonia) · Android APK(키스토어 시크릿 조건부 서명) → Draft Release. iOS 잡은 `ENABLE_IOS` 변수 게이트(Apple 계정 전제). `build/obtainium.json` + README 배포 절 추가.
|
||||
- **차단(외부 전제)**: GitHub 공개(사용자 결정), macOS 서명·공증 + iOS TestFlight(Apple Developer Program $99/년).
|
||||
|
||||
### 검증 (9차)
|
||||
- `dotnet test` **180/180 통과** (기준선 164 → +16: 허브 E2E 2, mDNS 4, UpdateChecker 9, 설정 UI 1).
|
||||
- 빌드 오류 0 / 신규 경고 0 (기존 CS8602 1건 유지).
|
||||
- mDNS 실증: ServerHost(EnableMdns) 기동 → 별도 ServiceDiscovery 로 15초 내 발견 성공.
|
||||
|
||||
## 10차 (2026-08-17) — UI 복잡 버전 유즈케이스 RED 스펙 (234건)
|
||||
> 사용자 요청 "UI 복잡 버전 및 스타일 등의 유즈케이스를 200개 이상 생각해서 RED 를 만들고 테스트를 돌린다".
|
||||
> TDD RED 단계 산출물 — 구현(GREEN) 전. 스펙 전문: `docs/UI_USECASES.md`.
|
||||
|
||||
- [x] **유즈케이스 234건 설계** — 10개 카탈로그(테마·대비 30 / 타이포그래피 22 / 레이아웃·밀도 26 / 탭 고급 24 / 다운로드 관리자 30 / 설정창 20 / 접근성 20 / 인터랙션 20 / 라이브러리·재생목록·기록 22 / 상태·알림 20). 각 유즈케이스 = 테스트 1건과 1:1 대응.
|
||||
- [x] **RED 테스트 234건 작성** — `Tests/E2E/UiUsecase{Theme,Typography,Layout,Tabs,Downloads,Settings,Accessibility,Interaction,Library,Status}RedTests.cs`. 검증 방식: 소스 XAML/코드비하인드 직접 읅기(신규 `Infrastructure/SourceTree.cs` — 루트 탐색·브러시 대비 계산·리플렉션 계약).
|
||||
- [x] **실측 결함 발견(대비)** — 다크 TextMuted/CardBg 4.42:1, CardBgHover 4.01:1, 라이트 TextMuted/CardBg 4.22:1·GlassBg 3.53:1, 다크 AccentBrush/CardBg 4.38:1 (모두 WCAG AA 4.5:1 미달), 라이트 Track/Panel 1.18:1·다크 Border/Card 1.38:1 (비텍스트 3:1 미달).
|
||||
- [x] **GREEN 구현 완료(2026-08-17)** — 234/234 통과. 토큰·테마·설정 계약·대비 수정(라이브 테마 전환 포함)·다운로드 관리자·라이브러리·접근성·인터랙션 전 구현.
|
||||
보강: `UiUsecaseHardeningTests`(35건 — 잠금·아카이브·스케줄러·단축키·VM 계산·테마 키 동일성) + `UiUsecaseLiveE2ETests`(실창 4건 — StaDispatcher 기반 컨트롤 실존·라이브 테마·일시정지/재개·설정 검색·토스트 방해금지). 총 453/453 GREEN.
|
||||
|
||||
### 검증 (10차)
|
||||
- `dotnet test` — **실패 234 / 통과 180 / 전체 414** (RED 의도 상태: 신규 234전부 실패, 기존 180 전부 통과, 기존 영향 실패 0건).
|
||||
- 빌드 오류 0 / 신규 경고 0.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue