yf-dev / majsoul-korean-resources

4 stars 3 forks source link

CORS 오류로 실행이 안됩니다. #2

Open rishubil opened 2 years ago

rishubil commented 2 years ago

안녕하세요. 글로벌 서버에서 본 한글패치를 적용해서 즐기려고 하니 resource 다운로드 중에 CORS 오류로 동작이 안됩니다.

  1. 크롬 브라우저 (99.0.4844.51)
  2. Tampermonkey
  3. Majsoul Korean (EN Server) 스크립트, 0.1.6

크롬 콘솔에서 확인한 에러 로그도 같이 첨부드립니다. mahjongsoul.game.yo-star.com-1647814644539.log

https://github.com/yf-dev/majsoul-plus-korean/issues/32 에서 이슈 이전됨

rishubil commented 2 years ago

CORS preflight 이슈가 있는 것 같은데, 제 환경에서는 현재 재현이 안됩니다.

크롬의 새 프로필을 생성하여 다른 확장 프로그램이 설치되지 않은 상태로 Tampermonkey만 설치하여 다시 시도해보세요. 그래도 동일한 증상이 발생한다면, 사용하시는 OS 정보도 함께 말씀해주세요.

MMMany commented 2 years ago

새 프로필 생성후 tampermonkey 만 설치하여 진행해도 동일하네요. 아래 실행 환경을 다시 보내드립니다.

  1. 크롬 브라우저 (99.0.4844.82) : 업데이트 함
  2. Windows 10 Home, 21H2 (OS Build 19044.1586)
rishubil commented 2 years ago

일단 임시 해결책으로 다음과 같이 유저스크립트에서 raw.githubusercontent.com 부분을 raw.githack.com 으로 수정하시면 오류 없이 사용하실 수 있을겁니다.

- const RES_BASE_URL = 'https://raw.githubusercontent.com/yf-dev/majsoul-korean-resources/main/resources/korean/';
+ const RES_BASE_URL = 'https://raw.githack.com/yf-dev/majsoul-korean-resources/main/resources/korean/';

https://github.community/t/preflight-requests-to-raw-githubusercontent-com/14325 에서 동일한 오류 보고에 대한 이야기가 있었는데, 일단 github 개발팀에 문제 전달은 된것 같습니다.

그러나 애초에 해당 preflight 요청 자체가 발생하지 않는게 정상입니다. 왜 preflight 요청이 발생했는지 원인을 파악해야 할 것 같습니다.

MMMany commented 2 years ago

raw.githack.com url로 대체하여도 동일한 이슈가 발생하네요...;; 모바일 환경에서도 지원하시는 것 같던데, PC에서만 발생하는 것일 수 있으니 모바일 환경에서도 시도해봐야겠네요.

rishubil commented 2 years ago

githack은 options 요청을 처리할 줄 알았는데, 받아주지 않나보네요. 아래 URL은 options 요청을 처리하는 걸 확인했으니, 아마 동작할겁니다.

다음과 같이 유저스크립트에서 https://raw.githubusercontent.com/ 부분을 https://gitcdn.link/cdn/ 으로 수정하시면 오류 없이 사용하실 수 있을겁니다.

- const RES_BASE_URL = 'https://raw.githubusercontent.com/yf-dev/majsoul-korean-resources/main/resources/korean/';
+ const RES_BASE_URL = 'https://gitcdn.link/cdn/yf-dev/majsoul-korean-resources/main/resources/korean/';
MMMany commented 2 years ago

해당 URL로 변경해도 패치적용은 안되는데, 다른 URL과 달리 크롬 Network 로그에서 preflight request가 503 에러가 발생하네요...;;

MMMany commented 2 years ago

다른분도 비슷한 증상으로 메일을 공유하신 것 같네요. 내용중 "외부 리소스 삭제 시, 정상 실행됨"다는 것을 확인하고 스크립트의 외부 리소스 삭제 후 실행해보니 동작을 합니다. 하지만, 게임시작하면서 다시 리소스가 생성되는 건지 게임 실행은 안되네요;;

아래 메일 캡쳐본을 첨부하오니, 참고바랍니다.

image