← 목록
AI 2026-07-26 2KB 읽기 3분

요청: crownyai-결제인증-팝업수리

  • 날짜: 2026-07-26 20:52:20
  • 작업 경로: /Users/ef/CrownyOS/crownyc

요청 본문

결제/인증할 때 팝업이 안 열려서 다른 브라우저에서 처음부터 다시 시작하는 경우가 있으니 체크하기

관련 산출

(클로드가 작업 결과를 이어 기록)

진단·수리 결과 (2026-07-26 완료)

근본원인 — 신셸 이식 누락 4종 (crowny-ai-content.m)

구셸(crowny-browser.m)엔 전부 있던 WKUIDelegate 가 신셸 이식 때 createWebViewWithConfiguration:(팝업 생성)만 옮겨지고 아래 4종이 누락:
  1. runJavaScriptConfirmPanelWithMessage 부재 → confirm()이 항상 '취소' 응답 — 결제/본인인증의 "진행하시겠습니까?"에서 흐름이 조용히 죽음(핵심 원인).
  2. runJavaScriptAlertPanelWithMessage 부재 → 오류/안내 alert 무시 — 사용자에겐 "반응 없음".
  3. runJavaScriptTextInputPanelWithPrompt 부재 → prompt() 항상 nil.
  4. webViewDidClose 부재 → PG/OAuth 팝업의 window.close() 미동작(죽은 탭 잔존, 닫힘 감지형 흐름 멈춤).
추가: javaScriptCanOpenWindowsAutomatically 미명시 → 비동기 응답 후 window.open(비제스처)이 차단 휴리스틱에 걸릴 여지 → makeWebView config에 명시 YES.

수리

  • 구셸 검증 패턴 4종을 content.m에 그대로 이식(F5 주석 블록, completionHandler 정확 1회 보장) + 자동열기 명시.
  • createWebView 자체는 정상이었음(전달 configuration 그대로 사용 — opener/postMessage 연결 유지, gabia식 window.open()+document.write 지원).

검증

  • make ai 에러0 → 헤드리스 검증모드(CROWNY_VERIFY_OUT, 포커스 무탈취) 실측: 비제스처 window.open → OPEN_OK,WRITE_OK (팝업 생성+opener의 팝업 문서 제어 성공).
  • install-ai-app.sh 설치+재서명 → 실행 번들 셀렉터 4종+설정 심볼 전부 확증. confirm/alert 모달 UI는 구셸 동일 코드 이식이라 GUI 검증 생략(사용자 활동 중 GUI 자동화 금지 가드레일).
  • 앱 재시작 시 반영. 실결제 1회 통과 확인은 사용자 실사용 시점 잔여.

한선씨 동반

  • 창관리.한선 +결제팝업진단(자동열기/다이얼로그/닫힘 → 티정상/타팝업차단/타확인차단/옴닫힘미동작) 38/38 티, 재학습.

관련 파일

  • crowny-ai-content.m (백업 .bak-결제팝업-*) · 테스트 페이지=스크래치 popup-test.html