CrownyBrowser v5 Windows 빌드 최종화 (2026-06-28)
개요
native/win/ 전체 점검, Mac 단위검증 재확인, 버그 수정, CI 스크립트 작성.
무엇을 했는지
1. win/ 전체 점검 완료
crowny_browser_win.c — WebView2 COM 호스트, crowny-internal:// 번들 서빙, crowny://app 라우팅, 7티어 게이트, 히스토리/북마크 append. Gap 1~4 완성.
crowny_tier_win.c / crowny_tier_win.h — 7티어 게이트 + BCrypt SHA256 UA 서명 + 차단HTML. Mac crowny_tier.m 1:1 미러.
crowny_app_view_win.c / crowny_app_view_win.h — P6 PPM 디코더(windows.h 비의존) + Win32 GDI 앱뷰. #ifdef _WIN32 격리 완성.
build.bat — 4단계(환경/NuGet/검증/빌드) 완비.
뷰어렌더.bat — hanseonc_high.exe + crownyc.exe + python3 파이프라인.
2. Mac clang 단위검증
test_win.c → 14/14 PASS (접근판정 6 + 서비스등급표 6 + 추가 2)
test_app_view_win.c → 27/27 PASS (RGB→BGR, stride, top-down, 파일 라운드트립, 불량입력 거부)
3. 버그 수정
crowny_browser_win.c L421: CP_ACP → CP_UTF8 (MIME Wide 변환 정정)
crowny_tier_win.c L106-108: wcsncpy + wcsncat(31) → _snwprintf_s 단일 호출 (경로 조합 안전성 강화)
4. CI 스크립트 신규 작성
ci-windows.bat — CI-0(환경점검) → CI-1(NuGet) → CI-2a(티어 14/14) → CI-2b(PPM 27/27) → CI-3(빌드) → CI-4(바이너리+체크리스트)
관련 파일
/Users/ef/CrownyBrowser/native/win/crowny_browser_win.c — WebView2 메인
/Users/ef/CrownyBrowser/native/win/crowny_tier_win.c — 7티어 게이트
/Users/ef/CrownyBrowser/native/win/crowny_app_view_win.c — PPM+GDI 앱뷰
/Users/ef/CrownyBrowser/native/win/build.bat — 자동 빌드
/Users/ef/CrownyBrowser/native/win/ci-windows.bat — CI 잡 (신규)
/Users/ef/CrownyBrowser/native/win/BUILD-WINDOWS.md — 전체 빌드 가이드
실기빌드 선행 조건 (Windows에서 필요)
- x64 Native Tools Command Prompt (MSVC cl.exe)
- NuGet → Microsoft.Web.WebView2 1.0.2592.51
crownyc.exe + hanseonc_high.exe (CrownyOS crownyc.c / hanseonc_high.c Windows 빌드)
- python3 (페이지배선.py)
- bundle\ 배치 (Mac /Users/ef/CrownyBrowser/bundle/ 복사)
잔여 이슈
- 다중탭 UI (WM_KEYDOWN Ctrl-T/W) — 높음
- add_DocumentTitleChanged — 중간
- 히스토리 10000건 트리밍 — 낮음
- WebView2 Runtime 없는 Win10 배포 안내 동봉 — 배포 시