MEDIABROWSER 개명·업데이트 채널 전환·아이콘 tofu 근본 수정 (BACKLOG 13차) — ①개명: installer.iss AppName/출력 MediaBrowser-Setup-*(AppId·exe·데이터 경로 유지로 업그레이드 호환), 워크플로 산출물명(mediabrowser-*.tar.gz, MediaBrowser-<ver>-arm64.apk), 창 타이틀·모바일 표시명·obtainium.json·README. ②UpdateChecker: apiBase 주입(기본=자체 Forgejo /api/v1, GitHub 는 apiBase 로 호환), osx 자산 tar.gz 허용(기존 dmg 만 → mac 영원히 자산 없음 결함 수정), AppConfig 기본 UpdateRepo=Video-Downloader/releases+UpdateApiBase — 테스트 4건. ③아이콘 tofu(사용자 보고 "절대 안고쳐지네") 근본 원인: Shared.xaml 암시적 TextBlock 스타일의 FontFamily=UiFont 강제가 버튼 ContentPresenter 자동 TextBlock 의 IconFont 상속을 덮어 모든 PUA 글리프가 notdef — 폰트 설치/글리프 존재/HW·SW 렌더/RTB/DPI/런타임 8·10/자체포함·공유 전부 배제 후 실창 픽셀 비교로 격리, 콘텐츠 TextBlock 의 실폰트가 Pretendard 체인임을 테스트로 실증. 수정: 암시 스타일 FontFamily 제거(창 루트 상속으로 통일, PairingWindow/PlayerWindow 는 SetResourceReference), PUA+텍스트 혼합 콘텐츠 7곳+코드 1곳 정리, 순수 글리프 2곳 IconFont 명시. 회귀 방어: IconGlyphXamlTests(정적 스캔)·IconContentFontTests(실창 폰트 단정)·IconGlyphRenderTests(픽셀 비교) — 462/462 GREEN, 수정 전후 실창 캡처로 글리프 렌더 확인

This commit is contained in:
Yun Chan 2026-08-18 07:13:18 +09:00
parent c8b061959b
commit 02995f4153
24 changed files with 451 additions and 64 deletions

View file

@ -1,8 +1,9 @@
; VideoDownloader Windows 설치자 (Inno Setup)
; publish.ps1 이 /DARCH=x64 또는 /DARCH=arm64 로 2회 컴파일 → out/VideoDownloader-Setup-<arch>.exe
; MediaBrowser(구 VideoDownloader) Windows 설치자 (Inno Setup)
; publish.ps1 이 /DARCH=x64 또는 /DARCH=arm64 로 2회 컴파일 → out/MediaBrowser-Setup-<arch>.exe
; 배포명만 MediaBrowser 로 개명 — AppId(GUID)·실행 파일명·데이터 경로는 유지해 기존 설치 업그레이드 호환.
#define APP_NAME "VideoDownloader"
#define APP_PUBLISHER "VideoDownloader"
#define APP_NAME "MediaBrowser"
#define APP_PUBLISHER "MediaBrowser"
#define APP_EXE "VideoDownloader.exe"
#ifndef APP_VERSION
#define APP_VERSION "1.0.0"
@ -32,12 +33,12 @@ ArchitecturesInstallIn64BitMode=x64compatible
; arm64 전용(네이티브). x64 머신에선 거부.
ArchitecturesAllowed=arm64
AppId={{2E0ADFC1-2072-4457-8C50-ECFCEDECAD73}
OutputBaseFilename=VideoDownloader-Setup-arm64
OutputBaseFilename=MediaBrowser-Setup-arm64
#else
; x64 + arm64(x64 에뮬레이션 폴백) 어디서든 설치 가능한 범용 설치자.
ArchitecturesAllowed=x64compatible
AppId={{65393C7D-17DC-4B9F-9D0B-F9911092C449}
OutputBaseFilename=VideoDownloader-Setup-x64
OutputBaseFilename=MediaBrowser-Setup-x64
#endif
[Languages]

View file

@ -1,8 +1,8 @@
{
"//": "Obtainium 원탭 등록용 앱 설정 (DEPLOYMENT_PLAN §3.1) — 저장소 GitHub 공개 후 <owner>/<repo> 를 실제 값으로 치환",
"//": "Obtainium 원탭 등록용 앱 설정 (DEPLOYMENT_PLAN §3.1) — Forgejo 공개 릴리스 저장소 기준",
"id": "com.companyname.videodownloader.mobile",
"url": "https://github.com/<owner>/<repo>",
"author": "<owner>",
"name": "VideoDownloader",
"url": "https://git.chanpaca.net/Video-Downloader/releases",
"author": "Video-Downloader",
"name": "MediaBrowser",
"additionalSettings": "{\"apkFilterRegEx\":\"apk$\",\"autoApkFilterByArch\":true,\"includePrereleases\":false}"
}

View file

@ -1,6 +1,6 @@
# VideoDownloader 다중 아키텍처 설치자 빌드
# MediaBrowser(구 VideoDownloader) 다중 아키텍처 설치자 빌드
# 사용: ./build/publish.ps1 [-Config Release] [-Version 1.0.0]
# 결과: out/VideoDownloader-Setup-x64.exe, out/VideoDownloader-Setup-arm64.exe
# 결과: out/MediaBrowser-Setup-x64.exe, out/MediaBrowser-Setup-arm64.exe
param(
[string]$Config = "Release",
[string]$Version = "1.0.0",
@ -43,10 +43,10 @@ foreach ($arch in $Archs) {
Write-Host "==== [$arch] Inno Setup 컴파일 ====" -ForegroundColor Cyan
& $iscc /Q "/DAPP_VERSION=$Version" "/DARCH=$arch" "/DPUBLISH_DIR=$pub" $iss
if ($LASTEXITCODE -ne 0) { throw "ISCC 실패: $arch (exit $LASTEXITCODE)" }
Write-Host "완료: out\VideoDownloader-Setup-$arch.exe" -ForegroundColor Green
Write-Host "완료: out\MediaBrowser-Setup-$arch.exe" -ForegroundColor Green
}
Write-Host ""
Write-Host "설치자 생성 완료:" -ForegroundColor Green
Get-ChildItem (Join-Path $outDir "VideoDownloader-Setup-*.exe") |
Get-ChildItem (Join-Path $outDir "MediaBrowser-Setup-*.exe") |
ForEach-Object { Write-Host (" {0,-38} {1:N1} MB" -f $_.Name, ($_.Length / 1MB)) }