피드로 돌아가기
Scarab Field Test #022 — Playwright Worker Response Header Hang
Dev.toDev.to
Frontend

Provisional Raw Headers 도입을 통한 Playwright Worker Hang 해결

Scarab Field Test #022 — Playwright Worker Response Header Hang

Scarab Systems2026년 6월 10일3advanced

Context

iframe 내 Worker script 로드 시 response.allHeaders() 호출 시 Promise가 resolve되지 않는 Hang 현상 발생. Chromium의 extra-info 이벤트가 worker-frame 세션 경로에서 누락됨에 따라 발생하는 API Boundary Failure임.

Technical Solution

  • worker-frame 세션 내 worker-main-script 응답에 대한 예외 처리 로직 추가
  • extra-info 이벤트 미도착 시 무한 대기하는 기존 메커니즘을 bounded fallback 구조로 변경
  • 가용 가능한 provisional raw headers를 사용하여 헤더 분석을 조기 완료하는 결정론적 완료 경로 설계
  • 일반 요청의 기존 extra-info 처리 경로를 유지하여 Side Effect 방지
  • crNetworkManager.ts 내 Chromium 네트워크 응답 핸들링 로직 최적화

1. 외부 이벤트 기반 API 설계 시 무한 대기 방지를 위한 Bounded Fallback 메커니즘 검토

2. Edge case(예: iframe 내 Worker)에서 메타데이터 생성 경로가 일반 경로와 일치하는지 검증

3. API completion contract 준수를 위해 최후 수단으로 사용할 수 있는 Provisional Data 정의

원문 읽기