vulcan9 / jikji.editor

jik-ji 프로젝트 관리
Other
0 stars 0 forks source link

HTML박스가 삽입된 프로젝트 강제종료 현상 #279

Closed BaeKeun closed 11 months ago

BaeKeun commented 1 year ago

HTML 박스가 들어간 특정 jik파일에서 강제 종료 현상이 있습니다. HTML 박스의 편집창을 실행하면 직지가 강제 종료가 됩니다. image 프로젝트 폴더의 app scale을 약간 높게 조정해서 저장하고 프로젝트를 다시 열어보아도 동일 현상이 있습니다.

같은 소스코드로 다른 프로젝트에서 재연해봤을때는 현상이 없습니다. 재연 영상과 jik파일을 함께 첨부하여 전달드리겠습니다. image

vulcan9 commented 1 year ago

재연 동영상 https://user-images.githubusercontent.com/5111882/205525041-7f51dd80-5230-4445-9f72-0c126abe2493.mp4 재연 소스 Vardy's On Fire.zip

vulcan9 commented 1 year ago

테스트

~@&=;,+$(){}[]^$-_.!#' 이름의 프로젝트 또는 프로젝트 내부 폴더를 생성 후 테스트

nw.Window.open(("http://localhost:5301/OPS/~@&=;,+$(){}[]^$-_.!#'/test.html?333"), {new_instance:true})

(주의) new_instance : true 옵션을 사용하면 문제가 발생되더라도 app이 다운되는 현상은 막을 수 있지만,

image

원인

다음 특수 문자들은 윈도우에서 폴더 이름으로 사용 가능하나 nwJS에서는 로드 에러 발생함.
(브라우저에서는 정상 동작함)

nwJS에서 로드 에러 발생하는 문자

해당 특수 문자가 문제를 일으키는 경우

해결

윈도우 경로 문자열 사용 불가 문자 \/:*?"<>| 윈도우 경로 문자열에 포함 가능한 특수문자 중

문제가 되는 특수문자를 escape 처리함

var url = pathString.replace(/\#|\'|\~/g, escape);
vulcan9 commented 1 year ago

3.1.39 버전(이상)에서 처리(구현) 되었습니다.