요청: 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종이 누락:
runJavaScriptConfirmPanelWithMessage부재 → confirm()이 항상 '취소' 응답 — 결제/본인인증의 "진행하시겠습니까?"에서 흐름이 조용히 죽음(핵심 원인).runJavaScriptAlertPanelWithMessage부재 → 오류/안내 alert 무시 — 사용자에겐 "반응 없음".runJavaScriptTextInputPanelWithPrompt부재 → prompt() 항상 nil.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