2026-07-15
요약 (AI 작성)
브라우저 콘솔 캡처를 붙이고, 큰 결과의 전송 방식을 하나로 통일한 날입니다. §9.5.9 로 page-world 주입 + proactive drain + browser.console pull 구조의 서버 버퍼 캡처를 넣고, 스모크에는 console 캡처/clear 를 browser 제어 display 게이트에 하드 단언으로 걸었으며 조기 실행·즉시 저장·예산 90초로 견고성을 손봤습니다. 이어 console 결과에 bounded transfer 를 적용해 512 KiB 절단을 걷어내고 snapshot 결과도 같은 방식으로 통일했으며, snapshot 의 inline 프레임 한계와 큰 browser 결과의 후속 정의를 문서에 명시했습니다. 전수조사로 console 결과 프레임 bound·팝업 override·fmt undefined 폴백 3건도 정리했습니다.
웹 패널은 4e-4/M6 으로 창 간 이동 시 WKWebView 를 재부모화해 상태를 보존하도록 만들었고, 곧이어 코드리뷰가 짚은 merge 파괴·nav 오라우팅·close FFI 3건을 반영했습니다. 세션 쪽은 merge 로 비워진 원본 창의 IME commit 크래시와, 빈 세션 focusChanged 에도 같은 unwrapNull 방어가 필요하던 갭을 막았습니다.
zntc 는 전날 이어진 deconflict 문제의 꼬리를 잡았습니다. #4533 은 주입된 래퍼 참조가 소비자 스코프 바인딩에 가려지던 것이라 소비자 바인딩을 리네임하는 쪽으로 해결했고, #4538 에서 헬퍼명·require.context·HMR fingerprint 같은 edge 모드를 함께 처리했으며, #4537 --splitting 에서 CJS-wrapped entry 가 실행되지 않던 문제를 고쳤습니다.
커밋
ohah/zntc
- fix(bundler): #4537 --splitting 에서 CJS-wrapped entry 미실행
- fix(bundler): #4538 #4533 소비자-shadow deconflict 의 edge 모드 (헬퍼명/require.context/HMR-fingerprint)
- fix(bundler): #4533 주입된 래퍼 참조가 소비자 스코프 바인딩에 가려지는 것 — 소비자 바인딩 리네임
ohah/maru
- feat(control): console 결과 bounded transfer + 512 KiB 절단 제거
- feat(control): snapshot 결과 bounded transfer 통일
- fix(app-session): 빈 세션 focusChanged도 IME commit과 같은 unwrapNull 방어
- fix(app-session): merge로 비워진 원본 창의 IME commit 크래시 방어
- fix(web-panel): 4e-4 재부모화 코드리뷰 3건 — merge 파괴·nav 오라우팅·close FFI
- feat(web-panel): 창 간 이동 WKWebView 재부모화 — 상태 보존 (4e-4/M6)
- docs(control-plane): snapshot inline 프레임 한계 명시 + 큰 browser 결과 통일 후속 정의
- fix(browser): 전수조사 3건 — console 결과 프레임 bound·팝업 override·fmt undefined 폴백
- test(browser): smoke 견고성 — console 조기 실행·즉시 저장·예산 90s
- test(browser): console 캡처/clear 스모크를 browser 제어 display 게이트에 하드 단언 추가
- feat(browser): console 서버 버퍼 캡처 — page-world 주입 + proactive drain + browser.console pull (§9.5.9)