Skip to content

Linux에서 코드포스 OSR 폴백이 페이지를 못 가져오고 타임아웃 (#9 후속) #30

Description

@dj258255

배경

#9(플로팅 창 노출)는 OSR 전환으로 해결됐으나, 제보자(Linux)가 후속 확인:

window is not opening, that is fine but the problem statement is also not appearing, it just says Fetching.... after waiting for a while the same error appears

즉 창 노출은 해결됐지만, OSR 폴백이 그 환경에서 페이지를 가져오지 못하고 JCEF internal timeout으로 끝남.

원인 (추정)

에러가 "Cloudflare challenge not passed"가 아니라 JCEF internal timeout인 점으로 보아, 챌린지 난이도 문제가 아니라 OSR 브라우저가 해당 환경(Linux/Wayland)에서 페이지 로드·JS 실행을 못 하고 있을 가능성:

  • 창 없이 만든 OSR 컴포넌트의 뷰포트가 0×0으로 잡혀 렌더링이 안 돎
  • 또는 Cloudflare가 클릭이 필요한 인터랙티브 챌린지를 내는 경우 (보이지 않는 브라우저로는 원리적으로 통과 불가)

수정

SWEA fetch가 이미 쓰는 3단 폴백 패턴을 코드포스에도 적용:

  1. OSR 뷰포트 보강setBoundscefBrowser.wasResized() 호출로 뷰포트 크기를 확실히 전달 (0×0 렌더링 방지)
  2. 보이는 다이얼로그 폴백 신설 – OSR이 실패하면 제목줄·닫기 버튼이 있는 정식 DialogWrapper에 JCEF 브라우저를 띄워 사용자가 직접 Cloudflare 챌린지를 통과하게 함. .problem-statement가 나타나면 자동 추출·닫기. (SweaFetchDialog와 동일 패턴)

이러면 원인이 OSR 렌더링 실패든 인터랙티브 챌린지든 최종적으로 항상 동작.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions