@Don 님, 감사합니다. 제 환경에서도 100% 재현됩니다. BrowserStack으로 테스트해 본 결과, 이는 Safari 17 이후 발생한 회귀(regression)로 보입니다. Ventura(Safari 16.5)에서는 재현되지 않지만, Sonoma(Safari 17.3)에서는 재현됩니다. 위에서 언급한 재현 단계와 조사 결과를 Webkit 상류(upstream)에 보고했습니다. 이를 통해 해당 문제를 추적하는 데 도움이 될 것입니다.
축하합니다, 재현 단계가 나왔네요! ![]()
우리 포럼(3.2.4)에서도 쉽게 재현할 수 있습니다. 문제의 핵심은 뒤로가기 단계인 것 같습니다. 초기 페이지나 중간 페이지(토픽, 카테고리, FAQ, 배지 등)가 무엇이든 상관없이 뒤로가기를 하면 버그가 발생하기 때문입니다.
WebKit 팀이 이 문제를 조사하고 있을 텐데(수정된 버전이 정식 릴리스로 배포되기까지는 시간이 좀 걸릴 것으로 보입니다), Safari에서 이 버그가 나타나기 시작한 Discourse의 특정 변경 사항을 파악해 보고, 간단하고 실현 가능하다면 로컬 임시 해결책을 마련해 보는 것은 어떨까요? 우리 경우를 보면, 최근 3.1.5에서 최신 안정 버전으로 업데이트한 후에야 비로소 문제가 나타나기 시작했습니다. 범위가 넓긴 하지만, 먼저 베타 버전을 하나씩 테스트해 가면서 원인을 좁혀 나가는 전략이 유효할 수 있습니다.
PS: 추가로 말씀드리자면, 이제 재현할 수 있게 되어 메인 웹사이트에서 PWA를 일시적으로 비활성화해 보았지만, 이 문제에는 아무런 차이가 없었습니다. 따라서… 멀티 PWA와 관련이 없는 것 같습니다.
그래서 크롬에서도 직접 테스트해 봤는데, 정말 이상한 현상을 발견했습니다. 제 이해가 맞다면, 이 문제는 Safari에서만 발생하는 거 아닌가요? 그렇게 생각했는데, 혹시 제 생각이 틀린 걸 수도 있겠네요. 아이패드에서 크롬 브라우저로도 재현할 수 있었거든요. 그렇다면 문제가 OS 쪽에 있는 건가요?
macOS에서 크롬으로도 재현 가능한가요? 아니면 웹킷(WebKit) 문제 때문에 iOS와 iPadOS에서도 크롬에 영향을 미치는 건가요?
제 이해로는 Apple이 iOS/iPadOS에서 제3자 브라우저를 허용하지 않기 때문에, Chrome/Firefox 등은 단순히 특화된 GUI일 뿐이며, 배경에서는 모두 Webkit을 사용해 페이지를 렌더링합니다.
이 문제가 Webkit에 있는 것이므로, iOS/iPadOS에서 실행되는 모든 브라우저가 영향을 받습니다.
네, 맞아요
다만 이 부분은 계속 변하고 있습니다. Using alternative browser engines in the European Union - Support - Apple Developer
@mentalstring 님, 이 문제에 대해 관심을 가져 주셔서 감사합니다. 바이섹팅(bisecting)을 통해 확인한 결과, 아래 커밋이 매우 유력한 원인으로 보입니다: DEV: Change default of `cross_origin_opener_policy_header` (#24940) · discourse/discourse@38abc0d · GitHub
우리의 인스턴스 중 하나에서 수행한 테스트에 따르면, Rails 콘솔에서 SiteSetting.cross_origin_opener_policy_header = 'unsafe-none'를 실행하거나 ENV에 다음을 추가하면:
DISCOURSE_CROSS_ORIGIN_OPENER_POLICY="unsafe-none"
해당 문제가 해결됩니다. 이 사이트 설정은 보안 강화 조치이며, 코어 업데이트에 대한 장단점을 평가하고 있습니다. 하지만 여러분(그리고 이 이슈를 추적 중인 다른 분들)이 직접 시도해 주신다면 정말 좋겠습니다. 이렇게 하면 이것이 실제로 Discourse의 근본적인 변경 사항임을 확신할 수 있게 됩니다.
아, 바로 그거였군요! ![]()
COOP를 'unsafe-none'으로 설정하면 3.2.4 인스턴스에서 버그가 실제로 더 이상 나타나지 않는다는 것을 확인했습니다. same-origin-allow-popups로 되돌리면 즉시 다시 나타납니다.
일시적인 우회 방법을 마련할 수 있어 다행입니다. 한편, 특정 트리거를 가리키고 있으므로 Webkit 팀에 보고하기에 유용한 정보일 것 같습니다.
PS: 이 문제를 살펴봐 주셔서 감사합니다. 조급하게 재촉해서 죄송합니다 – 그냥 커뮤니티를 돕기 위해 어찌어찌 하고 있을 뿐입니다. ![]()
다른 분들도 놓치지 않도록, 이 부분은 다음과 같이 되어야 합니다:
DISCOURSE_CROSS_ORIGIN_OPENER_POLICY_HEADER: unsafe-none
여러분, 추가 보고드립니다: WebKit 개발자가 몇 주 전에 이 문제에 대한 수정을 병합했습니다. 나이트리 WebKit 빌드를 사용해 테스트를 시도해 보았지만, 안타깝게도 여전히 문제를 재현할 수 있습니다. 다만 제가 뭔가 잘못하고 있을 수도 있습니다. 다음 Safari Technology Preview 릴리스(곧 나올 예정)를 기다렸다가 다시 테스트해 보겠습니다. Hopefully, 실제로 수정되었기를 바랍니다. (WebKit 버그 리포트는 여기에 있습니다.)
아쉽게도 시쿼아에서 최신 Safari 버전에서는 아직 이 문제가 해결되지 않았습니다. 위에서 링크된 업스트림 Webkit 버그 보고서를 다시 열었습니다.
좋은 소식입니다. 업스트림에서 수정 사항이 제공되었고, WebKit 빌드 아카이브를 사용해 제 머신에서 정상적으로 작동했습니다. 이 수정 사항이 먼저 Safari Technology Preview에 적용된 후 일반 Safari까지 반영되기까지는 몇 주 더 걸릴 예정입니다.
테스트해 봤어?
네, 그렇습니다.
드디어 Safari Technology Preview, Release 209 (Safari 18.2, WebKit 20621.1.6)에 포함되었네요.
이 주제를 닫기 전에 다른 사용자들로부터 확인을 받고 싶습니다. 감사합니다!
방금 릴리스 210으로 테스트해 보았는데, Safari TP에서는 더 이상 문제가 발생하지 않는 것을 확인했습니다(안정 버전의 우리 포럼 기준). 하지만 현재 버전의 Safari에서는 여전히 문제가 발생합니다. ![]()
이것이 메인라인 Safari에 반영되는 데 얼마나 걸릴지 혹시 아는 분이 있을까요?
다음 Safari 릴리스에 포함될 것으로 생각됩니다. 아마도 몇 주 안에 출시될 가능성이 높아요. 테스트해 주셔서 감사합니다!
Safari 18.3에서 실제로 수정된 것 같습니다!
이 주제는 3일 후 자동으로 닫혔습니다. 더 이상 새 답변을 작성할 수 없습니다.