Twitter 네이티브 임베드

참고로, 포럼의 활성도가 얼마나 되는지, 그리고 x/트위터 원박스가 얼마나 자주 게시되는지는 잘 모르겠지만, 기본 무료 트위터 플랜은 기본 원박스에 정상적으로 작동합니다. 다만, 15분당 약 1개의 원박스 요청으로 속도 제한이 걸립니다. 비교적 활성도가 높은 포럼에서 사용하고 있는데, 한 게시물에 원박스 링크를 하나 이상 게시하려고 할 때만 제한이 걸리는 것 같습니다.

3개의 좋아요

불행히도 이 기능이 YouTube(예: https://youtu.be/) 링크가 YouTube로 리디렉션되기 때문에 많은 YouTube 임베드를 막는다는 것을 방금 발견했습니다.

사람들은 X 게시물보다 YouTube 링크를 훨씬 더 많이 게시합니다. 그래서 지금은 이 기능을 비활성화해 두었고, 당분간 x.com → twitter.com으로 직접 수정할 예정입니다.

2개의 좋아요

우리는 x/트위터 게시물을 언급하는 경우가 매우 드뭅니다. 그리고 Twitter.com 원박스는 작동하지만, X.com은 작동하지 않습니다.

정확합니까? 이 컴포넌트를 말하는 것이 아니라, Twitter 개발자 무료 플랜의 API 토큰을 사용하고 이 컴포넌트를 비활성화한 상태의 네이티브 원박스를 말하는 것입니다. 여러분이 호스팅되고 있다고 하셨는데, Meta에서 여기 존재하는 것과 같은 기본 원박싱을 그렇게 설정할 수 있어야 합니다.

저는 2개의 다른 셀프 호스팅 사이트에서 무료의 풍부한 X/Twitter 임베딩을 사용하고 있습니다. X/Twitter API가 무슨 이유에서든 깨질 때 이 컴포넌트를 사용하고, 필요할 때마다 켜고 끄기만 하면 됩니다.

5개의 좋아요

X 개발자 무료 계정을 설정했습니다. X/Twitter 원박스(One Box) 임베딩을 어떻게 얻는지 궁금합니다.

네이티브 트위터 임베딩 컴포넌트는 잘 작동하고 있지만, 다크 모드에서 게시하기를 원합니다.

최근 Discourse 버전에서는 Twitter/X 원박스(Onebox)를 비활성화해도 제대로 작동하지 않는 것 같습니다.
또한, 이 테마 컴포넌트는 이미 생성된 원박스에서도 올바르게 작동하지 않습니다.

이번에 추가한 기능은 단순 링크를 네이티브 임베드로 대체하는 것 외에도 Twitter 원박스를 찾아 동일한 처리를 수행합니다.

즉, 더 이상 원박스 비활성화나 기존 게시물의 재빌드가 필요하지 않습니다.

PR은 여기에서 확인하실 수 있습니다: Feature: support existing oneboxes - Pull Request #1 - Lhcfl/discourse-twitter-native-embed - GitHub

3개의 좋아요

감사합니다! 한 달이나 기다리게 해서 죄송합니다. 그때 입원해서 병상에 누워 있다가 이제야 퇴원해서 이 PR을 봤습니다. 병합했습니다!

5개의 좋아요

여러분, 안녕하세요… 이 플러그인으로 문제를 겪고 계신 분 계신가요? 뭔가 깨진 것 같아서 x.com이나 twitter.com 모두에서 임베드가 다시 표시되지 않고 있습니다. 이 문제를 일으킨 새로운 Discourse 버전이 나온 건가요?

1개의 좋아요

오늘(2026년 9월 26일) 기준으로 이 문제가 여전히 발생하고 있음을 확인합니다.

제 인스턴스에서는 해당 컴포넌트가 더 이상 조용히 실패하는 것이 아니라 이제 적극적으로 오류를 발생시키고 있습니다. Discourse에서 관리자 전용 배너가 표시되며 다음과 같은 내용이 나타납니다.

:warning: 사이트의 포스트 데코레이터 중 하나가 오류를 발생시켜 포스트가 올바르게 렌더링되지 않을 수 있습니다. “Twitter/X Einbindung” [Twitter/X 임베드]로 인해 발생했습니다.

이 문제는 반복적으로 발생하며, 단순히 임베드가 누락되는 것이 아니라 사이트 전체에서 Safe Mode 스타일의 경고를 유발하고 있습니다. Discourse 버전: 2026.10.0.

컴포넌트를 완전히 비활성화하는 것 이상의 수정 방법이나 우회 방법을 찾으신 분이 계신가요?

제 서비스 제공자의 ipv6 문제를 해결한 후 Nitter 임베드로 전환하고, 트위터에서 완전히 탈퇴할 것입니다.

1개의 좋아요

머스크가 봇 스팸 문제로 인해 API 접근을 극적으로 제한한 이후로, 플랫폼에 대한 모든 형태의 외부 접근이 어려움을 겪고 있습니다.

비즈니스 및 보안상의 결정은 이해할 수 있지만, 외부 임베딩을 위한 공식 옵션이 부재한 점은 이해하기 어렵습니다.

니터(Nitter)는 알고 있지만, 원래 X 링크를 복사 & 붙여넣기하는 것만큼 편리하지는 않습니다.

디스코urs 프로젝트 팀이 X Corp에 직접 접근하여 공식 플러그인을 제안하는 것이 합리적일 수 있습니다.

그렇지 않으면, 저는 여기의 상호운용성에 미래가 없다고 솔직히 생각합니다. 그리고 X는 의심의 여지 없이 서구 세계에서 가장 중요한 뉴스 플랫폼입니다.

Nitter가 지난달에 내용증명(Cease and Desist)을 받았으며, 머지않아 서비스 중단될 수 있다는 점에 유의하세요: X sends cease-and-desist to open source project Nitter over alleged scraping | TechCrunch

2개의 좋아요

정당한 것 같다. 그들은 아무 설명도 복구 방법도 없이 대량의 데이터를 삭제했는데, 그 이면의 의도는 정말 어둡다.

제가 링크한 커뮤니티 프로젝트는 여전히 활발합니다. Codeberg, 커뮤니티 주도.

X가 무언가를 변경하고, 실제로 힘든 스크레이핑 작업을 수행하던 Zed가 더 이상 존재하지 않는 상황이 올 때까지.

글쎄요, 저항은 저항할 수 있을 때만 저항합니다. 자폐성(발명가)은 더 이상 계속할 수 없게 될 때까지 수십 년간 인류를 위해 일했습니다.

Nitter는 적어도 1년 동안 추가 문제 없이 유지될 것이라고 생각합니다. 그들은 대규모 서비스에만 푸시를 보내며, 셀프 호스팅은 그러한 영향을 미치지 않습니다.

1개의 좋아요

이 컴포넌트의 작은 포크를 만들어 세이프 모드에서 발생하는 충돌(누락된 속성에 대한 보호되지 않은 null)과 몇 가지 작은 문제를 수정했습니다: GitHub - terraboss/discourse-x-native-embed: X embedding · GitHub — 지금까지 잘 작동하고 있으며, 피드백을 환영합니다.

1개의 좋아요

이 컴포넌트는 깨져 있지 않으며, 제 사이트에서는 예상대로 정상적으로 작동합니다.

3개의 좋아요

업데이트: 내 포크의 첫 번째 마일스톤

피드백 감사합니다. 제 포크는 지금까지 세이프 모드 배너가 표시되지 않았습니다. 원인으로 가장 유력한 것은 여전히 누락된 data-onebox-src 속성이라고 추정하고 있지만, 이는 확정된 것이 아니므로 실험적 버전으로 취급해 주시기 바랍니다.

그 이후로 몇 가지 기능을 추가했는데, 이 스레드에서 이전에 요청했던 사항들이 포함되어 있습니다:

  • 트윗 위에 있는 일반 링크는 트윗이 로드된 후 사라집니다 (X에 연결할 수 없는 경우 유지됨)
  • 트윗 로드 시 점프 현상이 줄어들고, 중복 임베드가 표시되지 않음
  • 임베드에 다크 모드 지원
  • Discourse가 원박스로 변환하지 않은 순수 X 링크도 임베드됨
  • X 링크가 포함된 게시물을 인용할 때 인용문이 트윗으로 대체되지 않음

원본 아이디어의 공은 모두 @Lhc_fl 님에게 있습니다. 이 포크는 Claude의 AI 도움을 받아 구축되었습니다. 다른 사용자분들의 사용 후기를 듣고 싶습니다.

긴 주제에서 위로 스크롤할 때 스크롤 위치가 점프함

긴 주제에서 위로 스크롤할 때, 화면 밖에 있던 오래된 게시물이 다시 생성되면(아마도 게시물 클로킹과 관련이 있을 것으로 추정됩니다) 페이지가 반복적으로 약간 아래로 점프합니다. 이 현상은 하단에서부터 긴 스레드를 읽는 것을 어렵게 할 정도로 방해가 됩니다.

처음에는 테마 구성 요소(재로드 후 네이티브 X/Twitter 임베드의 크기 조정) 때문이라고 의심했지만, 해당 구성 요소와 무관하게도 점프가 발생하는 것 같습니다. 아래로 스크롤할 때는 같은 문제가 나타나지 않고, 위로 스크롤할 때만 발생합니다.

Discourse 버전: 최신 버전. 다른 분들도 이 문제를 겪고 계시나요, 아니면 이미 알려진 문제인가요?

대안으로 https://x.com을 https://fixupx.com으로 대체하는 전역 치환 규칙을 추가하는 것은 어떨까요?

3개의 좋아요

제안해 주셔서 감사합니다! 하지만 그런 대체 방안은 이 프로젝트에는 맞지 않을 것 같습니다. 이 컴포넌트의 핵심은 X/Twitter에서 트윗을 직접 임베드하는 것입니다. fixupx 같은 제3자 프록시는 근본적인 문제를 해결하지 못하고, 오히려 중간에 또 다른 계층을 추가할 뿐입니다. 실패하거나 변경될 수 있는 서비스가 하나 더 생기고, 요청을 확인할 수 있는 당사자도 하나 더 늘어나게 됩니다. 또한 게시물에 저장된 링크 자체도 다시 작성하게 됩니다.

실제로 제가 더 선호하는 방식은 트윗의 로컬 복사본을 만드는 것입니다. 이렇게 하면 로딩 시간과 캐싱에 도움이 되고, 장애에 대비한 임베드의 내구성을 높이며, 콘텐츠 아카이브도 유지할 수 있습니다. 하지만 이를 위해서는 유료 API 접근 권한과 저작권 및 콘텐츠 책임 관련 명확한 지침이 필요하며, 저는 이 둘을 모두 제공할 수 없습니다. 따라서 당분간 이 컴포넌트는 직접 임베드 방식을 유지할 예정입니다.

단순한 링크 미리보기만 필요하고 프록시를 사용해도 괜찮다면, 감시 단어 치환을 통해 이를 구현할 수는 있지만, 그것은 이 컴포넌트의 목표와는 다른 방향입니다.