Commit graph

24 commits

Author SHA1 Message Date
Yun Chan
46c6c321f2 T3-11/14/15 + M2 잔여: 권한 정책 UI(PermissionGate/PermissionRequested 다이얼로그+SavesInProfile), 추적 방지(TrackerBlocklist/WebResourceRequested 차단+실드 배지·팝업), 주소창 진행 바+파라미터 제거 복사(UrlCleaner/NavProgressTracker), U5 완료 알림(Mobile.Core 감지기+Plugin.LocalNotification), 재생중 ongoing 미디어 알림, 썸네일/해상도 API(Thumbnailer 사이드카 캐시+/thumb)+라이브러리 그리드, 외부망 안내(ConnectionTroubleshoot). 147 tests GREEN 2026-08-15 18:11:49 +09:00
Yun Chan
27c91c04dd M2-U3+U4 완성: 이어보기 위치 동기화(POST/GET /api/position + PositionStore JSON 영속, 플레이어 5초 주기·종료 저장·재개 시크) + 폰 오프라인 저장(ApiClient.DownloadFileAsync .part 스트리밍, OfflineStore manifest, 라이브러리 💾 버튼, 저장 탭 오프라인 재생/삭제). 서버 RED→GREEN E2E + 에뮬레이터 E2E(위치 13.3→35.2초 이어재생, 서버 정지 후 오프라인 재생 프레임 실증). 104 tests GREEN 2026-08-15 17:40:28 +09:00
Yun Chan
17f3e41cd2 최종 감사: 계획↔구현 매핑 문서(IMPLEMENTATION_AUDIT.md), slnx에 Mobile 추가, HlsDownloader._muxer ctor 누락 회귀 RED→GREEN 수정(103 tests), 빌드머신 아티팩트 갱신(linux-x64/osx-arm64) 2026-08-15 17:20:13 +09:00
Yun Chan
432b94fcbe M3: QR scanner only on physical devices (simulator camera session hangs first frame on iOS) 2026-08-15 17:06:11 +09:00
Yun Chan
698f140169 M3: NSCameraUsageDescription for iOS/MacCatalyst (QR scan permission crash at startup) 2026-08-15 16:57:40 +09:00
Yun Chan
311d043db9 M3: iOS TFM (macOS-only condition) + Android-only condition for AndroidX.LocalBroadcastManager 2026-08-15 16:49:15 +09:00
Yun Chan
250b2c3c10 M1+M2: MAUI Android companion - QR/manual pairing, queue polling UI, library streaming player modal (TapGestureRecognizer+PushModalAsync; linker keeps AndroidX.LocalBroadcastManager), ZXing scan+MediaElement playback. Emulator E2E: paired to host server, live queue/library render, real MP4 frames streamed+rendered, back closes player 2026-08-15 16:42:53 +09:00
Yun Chan
bb569acd96 M0: remote access server - Kestrel embedded (token auth/pair/queue API/library/range streaming/web companion zero-install), QR pairing window, DownloadQueueAdapter, auto-start+palette commands. Server E2E green (102 tests) 2026-08-15 15:30:35 +09:00
Yun Chan
40c1b39b70 Phase D (T2-10): media playlist - auto-collect detected media, flyout management, player window (native+hls.js+dash.js bundles), persistence, auto-next (101 tests GREEN) 2026-08-15 15:25:10 +09:00
Yun Chan
406957088f Phase C (T2-1..T3-10): command palette, reader mode (real Readability.js, E2E), boost force-dark, screenshot, split view, vertical tabs, Glance (Alt+click), tab groups (6 colors), workspaces, speed dial, InPrivate tabs, quick find, source view, print, PiP, TTS (94 tests GREEN) 2026-08-15 15:22:44 +09:00
Yun Chan
0caa1111e7 Phase B (T1-5/T1-6/T2-2/T2-8/T2-12): download manager flyout w/ speed+pause/resume/cancel, bookmark bar, tab sleeping, tab search (open+closed), context menu w/ 'download video from this link' (79 tests GREEN) 2026-08-15 15:09:59 +09:00
Yun Chan
af19dba8f4 refactor(4): TabViewService extracts WebView2 lifecycle/wiring from MainWindow (god-class dissolved) - all 66 tests incl. tab E2E stay GREEN 2026-08-15 15:04:15 +09:00
Yun Chan
e8ec1350b3 refactor(3): VideoDownloader.Browser library - tabs/find/search-engine/zoom/bookmark-history stores extracted from App (66 GREEN) 2026-08-15 15:02:23 +09:00
Yun Chan
6df9f81b4a refactor(2): Core Platform abstractions (IProcessRunner/IMediaMuxer + Desktop impls) - Hls/Dash/YtDlp through injection seams, threading contract documented (66 tests GREEN) 2026-08-15 15:00:36 +09:00
Yun Chan
9eb988440f refactor(1): detection App->Core + AppPaths (VD_DATA_DIR isolation for deterministic E2E) 2026-08-15 14:51:16 +09:00
Yun Chan
1aab8729fa refactor(1): move Detection (MediaDetector/SocialSiteDetector/DetectionContext) App->Core 2026-08-15 14:49:02 +09:00
Yun Chan
b6b7fc341b Phase A: tab architecture integrated into MainWindow - tab strip UI, per-tab WebView2 lifecycle, new-window->tab w/ deferral, audio indicator/mute, session save/restore, shortcuts; E2E on real window (56 tests GREEN) 2026-08-15 14:48:17 +09:00
Yun Chan
be01a116ca deploy: self-hosted build machines operational (vd-linux/vd-mac) - 4 artifacts built & native-exec E2E passed (HLS download EXIT=0 on both) 2026-08-15 13:46:05 +09:00
Yun Chan
a206270c3b deploy: remote build scripts (build-remote.sh, install-buildkey.ps1) + self-hosted build machine setup 2026-08-15 13:33:44 +09:00
Yun Chan
9e637f09df deploy: .env template + gitignore hardening (.env* ignored, template whitelisted) 2026-08-15 12:39:36 +09:00
Yun Chan
603ad51406 Phase A logic: TabManager/TabItem/session store (TDD, 17 tests) 2026-08-15 12:18:05 +09:00
Yun Chan
00a822eaeb Phase 0 (T1-3/4/7/9/11): find bar w/ native Find API + search engine + site zoom + force reload + F11, wired into MainWindow, E2E smoke (39 tests) 2026-08-15 12:14:35 +09:00
Yun Chan
470c9267f2 T1-4/T1-7: search engine resolver + site zoom store (TDD RED->GREEN, 32 tests) 2026-08-15 12:04:23 +09:00
Yun Chan
21b7c4d8bd Baseline: WPF/Avalonia/Cli/Core + plans (BROWSER_FEATURES_PLAN v2, MOBILE_PLAN v1) 2026-08-15 11:59:25 +09:00