topic-thumbnails 사용 시 외부 임베드의 썸네일 누락

Discourse 팀과 이메일로 몇 가지 논의한 후, 여기 업데이트를 공유합니다.

주요 발견 사항은 링크가 onebox로 변환되어 iframe으로 렌더링될 경우 썸네일이 로드되지 않는다는 것입니다.

즉, 아래 링크는

https://app.everviz.com/embed/N0dDTJaOQ

도메인에서 iframe이 허용되는지(allowed iframes)에 따라 썸네일이 렌더링되거나 그렇지 않습니다. 이 문제를 해결하기 위해 게시물에 iframe을 주입하는 방법을 찾아야 합니다. 저는 이를 수행하고, 게시물의 이미지 표시를 방지하기 위해 이미지에 display: none이 설정되도록 하는 플러그인을 작성했습니다.

이를 일반화하는 것이 가능할 것 같습니다:

  1. 모든 일반 onebox에 대해 get_oembed.thumbnail_url이 존재할 경우, 옆에 이미지를 조용히 로드하고 숨기는 것.
  2. 아마도 더 나은 해결책이지만, get_oembed.thumbnail_url을 추출하고 이를 게시물과 연관 짓되, cooked 영역 자체의 일부로 만들지 않는 일반적인 지원 추가.

관련 위치:

  1. https://oembed.com/
  2. discourse/lib/onebox/engine at main · discourse/discourse · GitHub
  3. discourse/lib/onebox/engine/standard_embed.rb at main · discourse/discourse · GitHub

이 모달 동작, 즉 allowed iframes가 활성화되어 있는지 아닌지에 따라 달라지는 부분에 대해 매우 만족스럽지 않습니다. Discourse가 해당 oembed 엔드포인트에 처음 GET 요청을 보낼 때 모든 속성을 추출하여 활용하는 것이 좋겠습니다.