레거시 브라우저에서 Discourse가 로드되지 않음

기억이 정확하진 않지만, 일부 브라우저(IE < 10?)에서는 이 기능이 필수적이었습니다. 기능 감지를 수행한 후에는 JavaScript를 통해 <noscript> 태그에 접근하는 것이 불가능하기 때문입니다. @dan 님이 몇 년 전에 이 문제를 다룬 것으로 기억합니다.

현재 두 가지 폴백 '모드’가 존재합니다:

  1. 크롤러 뷰를 제공합니다. JS가 필요하지 않습니다. 이 모드는 browser_update_user_agents에 의해 제어됩니다.

  2. 전체 앱을 제공하고, 기능 감지를 수행하며, <noscript> 내용을 <body>로 이동시켜 폴백합니다. 이 방식은 사용자 에이전트 기반이 아닙니다.

여기서 문제는 (2)가 모바일에서 작동하지 않는다는 것입니다. 서버가 <noscript> 내용을 렌더링하지 않기 때문입니다. 이를 수정해야 하지만, 오래된 브라우저에서 (1)을 깨뜨리지 않아야 합니다.

7개의 좋아요

맞습니다. 구형 IE에서는 의 내용을 읽을 수 없습니다.

5개의 좋아요

다음과 같이 단계를 업데이트하는 것을 제안합니다:

@sam, (2)번 항목은 어떻게 구현할 생각인가요? 코어에 ‘최신’ 사용자 에이전트 매처 목록을 유지하는 방식인가요? 그리고 스테이블 릴리스 사이클의 일부로 이를 업데이트하는 방식인가요?

5개의 좋아요

네, 그런 방식이었죠. 솔직히 이번 주에는 제가 할 수 있는 시간이 많지 않아서, 코딩에 쓸 시간을 확보하기가 쉽지 않습니다.

아마 이 작업을 넘겨야 할 것 같습니다. 수정된 액션 플랜이 아주 좋습니다.

2개의 좋아요

지식이 부족해서 죄송합니다… 답을 찾아보려고 노력했지만 아무것도 찾을 수 없었습니다…

위와 같은 pull request의 경우, “merged”(병합)되기까지 얼마나 걸리나요?

즉, 제 discourse 관리자 패널에 들어가면 업데이트를 제안하는 메시지가 뜨고, 위 내용이 적용되는 시점을 묻고 있습니다.

일부 코멘트를 해결해야 할 것 같지만, 아마도 24시간 이내에 병합될 것입니다. 병합되면 여기에 업데이트하겠습니다. 그런 다음, tests-passed 브랜치를 사용 중이라면 포럼에서 /admin/upgrade를 방문하여 변경 사항을 가져올 수 있습니다.

5개의 좋아요

무엇인지 잘 모르겠지만, 제 생각에는 제가 그 브랜치에 있는 것 같습니다 :woozy_face:

멋지네요. 감사합니다 @david

2개의 좋아요

흥미롭게도 iPhone 5의 브라우저 스택에서 로컬로 프록시를 설정했을 때, include_crawler_content? 값을 true로 설정해도 여전히 흰 화면만 표시됩니다.

로컬 환경에서 ember cli가 테스트를 깨뜨리는 어떤 동작을 수행하고 있을 수 있습니다.

생産 환경의 iOS 7에서는 설계상 깨져 보입니다. (우리가 콘텐츠를 배포하지 않기 때문에 콘텐츠가 없습니다)

수정 사항을 테스트하는 것은 꽤 까다로울 것 같습니다. 하지만 로컬에서 일부 항목을 가짜로 설정해 볼 수 있을 것 같습니다.


다음에 대해 생각 중입니다.

현대적인 모바일 브라우저란 무엇인가?

  • iOS 14+
  • Android + Chrome 88+
  • Android + Firefox 85+

이렇게 하면 모바일 트래픽의 95% 이상을 커버할 수 있으므로 페이로드 절감 효과가 크고 위험은 극히 낮습니다.

@Falco 제가 놓친 브라우저가 있을까요? Android에서 Firefox는沧海一粟(대양 속 한 방울) 수준이며, 대부분의 사용자가 Chrome을 사용하는 것으로 보입니다.

5개의 좋아요

3개의 게시글이 새 주제로 분리되었습니다: ‘Adblock Browser’ 지원

어제 다시 이 문제가 발생한 것 같습니다. 브라우저와 앱 모두에서 3개 포럼 중 2개에서 오류 메시지 없이 흰 화면만 표시됩니다.

1개의 좋아요

메타(이 사이트)에서도 마찬가지인가요?

네, meta.discourse.org는 빈 페이지를 반환하고, community.jenkins.io도 마찬가지입니다. 원래 불만 사항과 동일합니다. 수요일 어딘가에서 시작되었음을 확인할 수 있습니다.

3개의 좋아요

오, 바로 빠르게 해결해 드릴게요. 알려주셔서 감사합니다.

3개의 좋아요

이것은 JS 빌드 대상에서 IE11을 제거하면서 의도치 않게 발생한 부수적 효과였습니다. 다음을 통해 수정되어야 합니다:

최대한 빨리 병합 및 배포하겠습니다

8개의 좋아요

이제는 Meta에 배포가 완료되었고, 호스팅 고객 중 대부분(예: http://community.jenkins.io/)에도 적용되었습니다. 이제 iOS 12에서도 사이트가 다시 정상적으로 로드되어야 합니다. 문제를 보고해 주신 @wake님과 @Ian_W님께 감사드립니다!

8개의 좋아요

다시 작동하게 되어 정말 기쁜 소식입니다. 여러분의 노고에 진심으로 감사드립니다.

다만, 좀 특이한 현상을 하나 발견했습니다. URL을 입력하고 엔터를 누르면 진행 표시줄이 천천히 채워집니다. 처음에는 빈 화면이 표시되다가, 약 6~7초 후에야 콘텐츠가 나타납니다! 예전에는 1초 정도밖에 걸리지 않아서(거의 눈에 띄지 않았던) 지금은 좀 이상하네요.

이것은 Firefox 브라우저에서 발생한 현상입니다.

이 주제는 2일 후 자동으로 닫혔습니다. 더 이상 새 답변을 남길 수 없습니다.