약 한 달 전부터 디스커스에 그래픽 파일을 업로드할 수 없게 되었습니다. 작성 영역 아래에 일반적인 진행 정보가 표시됩니다(20%, 40%, 100% 업로드 완료). 하지만 진행이 끝나면 작성 영역에는 다음과 같은 내용이 표시됩니다(모든 것이 보이도록 미리 형식 지정된 텍스트로 입력했습니다):
[Uploading: Screen Shot 2022-06-14 at 10.58.16 AM.png…]()
그리고 동일한 항목에 대한 완료 메시지 영역에는 다음과 같이 표시됩니다:
Uploading: Screen Shot 2022-06-14 at 10.58.16 AM.png…
하지만 그 시점에는 더 이상 업로드 활동이 진행 중이지 않습니다. 분명히 괄호 안에 있어야 할 내용이 업로드되지 않고 있습니다. 몇 시간 동안 기다려도 아무런 변화가 없습니다.
이 문제는 macOS v10.15.7이 설치된 Mac에서 Safari 버전 15.5(15613.2.7.1.9, 15613)를 사용할 때 발생합니다. 같은 컴퓨터에서 Firefox를 통해 디스커스에 접근하면 모든 기능이 정상적으로 작동합니다.
Firefox로 로그인하여 같은 주제에서 계속 진행하면, Safari Console 창을 캡처한 스크린샷을 업로드할 수 있습니다. Console 창에 표시된 모든 내용은 Safari에서 해당 이미지를 작성 영역으로 드래그한 후에 나타났습니다. 보시다시피, 스크린샷 이미지는 Firefox에서 정상적으로 업로드됩니다:
매우 최신 브라우저를 사용 중이시라면 여기서 재현을 시도해 볼 수 있습니다. 해당 문제를 내부적으로 기술 담당자에게 배정하여, 다른 사람들도 Safari 15.5에서 문제를 재현할 수 있는지 확인하도록 하겠습니다. 현재는 브라우저스택에서도 테스트조차 불가능할 정도로 최신 버전이지만, 100% 지원되는 환경입니다.
문제가 발생하는 이미지를 여기에 업로드해 주시겠어요? 아니면 모든 이미지에서 문제가 발생하나요?
업로드 플레이스홀더에서 URL로 전환할 때 execCommand를 사용하지 않으므로, 이것이 원인이 아닐 것 같습니다. (execCommand("insertText")는 textarea가 포커스를 받아야 하므로, textarea에 포커스가 없는 상태에서 업로드가 완료되는 경우에도 쉽게 전환할 수 없기 때문입니다.)
기술적으로는 웹 표준에서 비추천으로 지정되었지만, insertText 명령에 대한 대체 수단은 아직 없습니다. MDN 문서에 따르면:
클립보드 API는 많은 경우 execCommand 대신 사용할 수 있지만, execCommand는 여전히 유용한 경우가 있습니다. 특히 클립보드 API는 insertText 명령을 대체하지 않으며, 이 명령을 사용하면 일반 textarea와 input 요소에서 커서 위치의 텍스트를 프로그래매틱으로 대체하면서 실행 취소 버퍼(편집 이력)를 유지할 수 있습니다.
이처럼 널리 사용되고 있는 점을 고려할 때, 브라우저가 대체 수단을 제공하고 비추천 기간을 거치지 않고 이를 지원 중단할 가능성은 극히 낮아 보입니다.
네, 꽤 그럴 가능성이 높아 보입니다. @sam, 전에 그 아이디어를 무시한 것 죄송합니다 . Safari가 execCommand("insertText",를 통해 우리가 추가하는 텍스트에 OS 수준의 텍스트 대체를 적용하는 것 같습니다. 이것이 Safari 15.5에서 새로 생긴 것인지, 아니면 원래 그랬는데 우리가 모르고 있었던 것인지 궁금하네요
@david, 키보드 설정에서 그런 치환을 설정해 두지 않았습니다. 하지만 이제 무엇을 찾아봐야 하는지 알게 되었기 때문에, 치환이 실제로 일어나고 있음을 확인할 수 있습니다. 실제로 타이핑하는 동안 그 과정이 눈에 보입니다. 그리고 뒤로가기 화살표를 사용해 확인해 볼 수도 있습니다. 생략 부호(…) 문자에 도달하면, 커서가 개별 문자로 입력되었던 세 개의 마침표 전체를 거슬러 올라갑니다.
같은 일이 메모, 미리보기, 메시지, 메일에서는 일어나지만, 캘린더, 지도, 사진, 또는 (당연히) 파이어폭스에서는 일어나지 않습니다. 따라서 이것은 시스템 수준의 문제가 아니라 앱에 특정한 문제인 것 같습니다.