iOS에서 서브도메인 간 이동 시 가끔 CSS가 로드되지 않음

이 문제를 지적받기 전에 관련 이슈를 보고했습니다. 이 문제는 그와 관련이 있는 것으로 보입니다.

우리는 2일 전에 Discourse 3.2로 업그레이드했으며, 그 이후로 비슷한 문제에 대한 보고를 받고 있습니다. 우리 경우 CSS와 직접적인 관련은 없지만, 근본적인 문제는 동일한 것 같습니다.

Discourse에서 메인 웹사이트로 이어지는 링크를 따랐을 때, 브라우저는 여전히 포럼에 있는 것으로 인식합니다: 브라우저의 URL이 그렇게 표시하고 있기 때문입니다(!). 그리고 때때로(일부? 아마도 상대 경로) 링크가 포럼 도메인에서 열리며, 포럼 페이지가 존재하지 않는다는 오류가 발생합니다. 지금까지 받은 보고는 모두 iPhone/iPad에서 발생했습니다. 저는 이를 재현할 수 없지만, 영향을 받는 사용자들은 하루에 몇 번씩 이를 경험하는 것 같습니다. Discourse 로그를 확인해 보니, 메인 웹사이트에만 존재하는 페이지에 대한 404 요청이 여러 건 있음을 확인할 수 있었습니다.

브라우저가 한 웹사이트를 열면서 다른 웹사이트의 URL을 표시하는 것(iframe 없이)에 대해 매우 당황스럽습니다. 이것이 Safari 버그라면, 보안상의 함의가 꽤 심각할 수 있으므로 특정 최상위 도메인 내에서만 제한되기를 바랍니다.

어쨌든, 이것이 Discourse 3.2로 업그레이드한 후에만 발생하기 시작했다는 점을 염두에 두어야 합니다. 즉, 3.1 이후에 이 문제를 유발하는 것이 변경되었습니다.

완전한 추측일 수 있지만, 이것이 PWA 앱과 Safari가 이를 처리하는 방식과 관련이 있을 수 있다고 생각합니다. 우리의 메인 웹사이트는 PWA 앱을 선언하고 있으며, Discourse 포럼도 마찬가지입니다. 둘 다 standalone 모드와 start_url: "/"를 사용하며(우리는 고유한 id를 설정하지만 Discourse는 설정하지 않음). AFAIK, PWA 매니페스트 파일은 특정 호스트명을 지정하지 않으므로, 호스팅되는 특정 도메인에 따라 작동한다고 가정합니다. 우리 경우, 두 PWA는 서로 다른 서브도메인이지만 같은 도메인에 있습니다. 브라우저가 이를 처리하는 방식에서 혼란을 일으켜 브라우저가 혼란에 빠질 여지가 있을 수 있습니다. 하지만 다시 말하지만, 이는 단순한 추측일 뿐입니다.

2개의 좋아요