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

@david 이거 어때요?

if (!String.prototype.replaceAll) {
	String.prototype.replaceAll = function(str, newStr){

		// If a regex pattern
		if (Object.prototype.toString.call(str).toLowerCase() === '[object regexp]') {
			return this.replace(str, newStr);
		}

		// If a string
		return this.split(str).join(newStr);

	};
}

공유하신 솔루션의 문자열 분기를 수정하여, 이스케이프 없이 문자열을 정규식으로 변환하는 문제를 해결했습니다.

4개의 좋아요

두 번째 인수로 함수를 전달하는 경우 작동하지 않을 것 같습니다:

"my string with my example".replaceAll("my", (match) => `test${match}`)

(해당 함수에 대한 문서는 여기에서 찾을 수 있습니다)

5개의 좋아요

저는 iOS 버전 12.5.5이 설치된 iPad Air를 사용 중입니다. 이 태블릿에서 사용할 수 있는 최신 버전의 Chrome 브라우저로는 Sketchup 포럼이 열리지 않습니다. 이전 게시글들에서 언급된 것과 동일한 배너 메시지가 표시됩니다. 새 iPad로 업그레이드하는 방법 외에 이 문제를 해결할 다른 방법이 있을까요?

나도 좋다고 생각합니다 :+1:

이렇게 하면 해결될 것 같습니다:

6개의 좋아요

음, 이 수정은 macOS Mojave에서 Discourse를 사용하는 문제를 해결하지만, iOS 12.5.5에서도 globalThis 체크를 통과하지 못하는 것 같습니다.

이것도 폴리필을 적용할까요?

4개의 좋아요

네! 사이트(Discourse와 Community.Jenkins.io 모두)가 이제 레거시 브라우저에서도 정상적으로 작동하는 것 같습니다. 콘텐츠를 볼 수도 있고, 게시물을 작성할 수도 있습니다(Jenkins와 여기에서 모두).

이 문제를 해결하기 위해 기울여 주신 모든 노력에 진심으로 감사드립니다. 예상보다 훨씬 복잡한 문제였던 것 같습니다.

이제 StackOverflow가 자신의 파괴적인 변경 사항을 되돌리도록 (두 번째로) 설득만 할 수 있다면 좋겠습니다. 레거시 브라우저에서의 기능이 복구되길 바랍니다. 한 번은 해 주셨지만, 그들의 새로운 태도는 문제가 사용자에게 있는 것처럼 보입니다.

4개의 좋아요

네, 이 포럼은 iOS 12.2에서 다시 작동합니다. 다만 https://support.last.fm/ 은 여전히 작동하지 않아요 (아마 뭔가 업데이트가 필요한 건가요?). 다시 한번 수정해 주셔서 감사합니다.

가장 큰 초점은 기존 브라우저의 호환성을 깨뜨리지 않는 것입니다. 빈 화면은 고대 브라우저에서도 절대 허용될 수 없습니다. 읽기 전용 뷰는 허용됩니다.

여기서 어려운 점은, 일부 브라우저가 일종의 회색지대에 있다는 것입니다. 정확히 지원되는 것도 아니고, 정확히 비지원인 것도 아닌데, 안타깝게도 이런 브라우저들이 흰 화면 문제를 겪고 있습니다.

최소 지원 브라우저 버전이 점차 높아지면서 이러한 문제를 반복적으로 겪지 않도록, 앞으로 더 나은 접근 방식을 고민하고 있습니다.

7개의 좋아요

정리하자면, https://support.last.fm/ 의 일부 사용자들은 여전히 문제를 보고하고 있습니다: Mobile view of this forum is broken - #6 by tutibins - Get Help - Last.fm Support Community

이 수정이 호스팅된 사이트에 이미 배포되었나요?

그렇다면 우리가 사용 중인 테마/컴포넌트나 커스텀 CSS가 문제를 일으키고 있다는 뜻이 되겠지만, 수정이 아직 배포되지 않았다면 그쪽을 건드리고 싶지 않습니다. :slight_smile:

확인해 주셔서 다시 한번 감사합니다.

1개의 좋아요

존, 안녕하세요. 이 변경 사항이 아직 모든 호스팅 사이트에 배포되지 않았습니다. 하지만 지금 바로 배포 프로세스를 시작하겠습니다. 약 1시간 이내에 고객님의 사이트에 적용될 것으로 예상됩니다.

3개의 좋아요

이제 작동합니다!
감사합니다!

1개의 좋아요

훌륭하네요, 데이비드. :+1:

3개의 좋아요

forums.sketchup.com에 변경 사항이 언제 배포될 예정인가요?

지금 배포 중입니다! :slight_smile:

5개의 좋아요

일부 사용자에게 여전히 문제가 발생하고 있어 이슈를 다시 엽니다.

계획:

  1. 더 이상 해당 방식으로 기능 감지(feature detection)를 하지 않으므로 browser_update_user_agents를 제거합니다.
  2. optimise_traffic_on_modern_mobile_browsers (기본값 true) 추가 - 사용자가 지원되는 모바일 브라우저(최신 Chrome / Safari)를 사용하는 경우, HTML 페이로드 전송을 피하여 전송을 최적화합니다.
  3. 크롤러 / HTML 뷰에 대한 기본적인 디자인 작업 - @Designers 님에 의해 스타일링 / 패딩 / 여백 등 개선

@Falco 이 계획 어때요?

다음 주에 이 작업을 진행해 볼 수 있는지 확인해 보겠습니다. 만약 진행이 어렵다면 그다음 주에 내부적으로 담당자를 지정할 예정입니다.

6개의 좋아요

좋습니다 :+1:

Meta에서 테스트할 때 주의하세요. 여기서는 테이블 없는 디자인 실험으로 인해 크롤러 뷰가 상당히 퇴보(regressed)했습니다.

초기 iOS 12 사용자들은 window.globalThis가 없어서 앱을 부팅하지 못합니다. Browserstack에서 쉽게 재현할 수 있습니다. 해당 사용자를 위해 HTML no-script 콘텐츠를 배포해야 합니다. 여러분의 계획 단계 1이 이를 해결할 것입니다.

5개의 좋아요

이 뷰들의 가독성을 높이기 위한 작은 PR을 만들었습니다:

10개의 좋아요

정말 멋져요. PR에도 코멘트를 남겼습니다. 구글은 모바일 우선 인덱싱을 적용하므로, 이 뷰의 주요 사용자는 모바일 기기이므로 모바일 해상도를 꼼꼼히 테스트해야 합니다.

5개의 좋아요