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
This commit is contained in:
parent
27c91c04dd
commit
46c6c321f2
26 changed files with 1058 additions and 30 deletions
|
|
@ -4,7 +4,7 @@ namespace VideoDownloader.Server;
|
|||
public sealed record QueueItemDto(string Id, string Title, string Url, string Status, double Percent);
|
||||
|
||||
/// <summary>라이브러리(저장 폴더) 미디어 항목.</summary>
|
||||
public sealed record LibraryItemDto(string Id, string FileName, long SizeBytes, DateTime Modified);
|
||||
public sealed record LibraryItemDto(string Id, string FileName, long SizeBytes, DateTime Modified, string? Resolution = null);
|
||||
|
||||
/// <summary>이어보기 위치(U3 동기화). 초 단위.</summary>
|
||||
public sealed record PositionDto(double PositionSec);
|
||||
|
|
@ -22,6 +22,15 @@ public sealed class ServerOptions
|
|||
public IQueueAdapter Queue { get; init; } = new EmptyQueueAdapter();
|
||||
/// <summary>기기 표시명(웹 컴패니언 헤더용).</summary>
|
||||
public string DeviceName { get; init; } = Environment.MachineName;
|
||||
/// <summary>썸네일/해상도 생성기(기본: DesktopProcessRunner 기반 ffmpeg). 테스트 주입 가능.</summary>
|
||||
public Thumbnailer? Thumbnailer { get; init; }
|
||||
}
|
||||
|
||||
/// <summary>기본 썸네일러 팩토리.</summary>
|
||||
public static class ServerOptionsDefaults
|
||||
{
|
||||
public static Thumbnailer DefaultThumbnailer() =>
|
||||
new(VideoDownloader.Core.Platform.DesktopProcessRunner.Default);
|
||||
}
|
||||
|
||||
/// <summary>호스트 앱의 다운로드 큐와 서버를 잇는 어댑터(UI 스레드 마샬링은 구현측 담당).</summary>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue