Twitter Native Embed

Übrigens, ich weiß nicht, wie beschäftigt Ihr Forum ist oder wie oft x/twitter Oneboxen gepostet werden, aber der kostenlose Basis-Twitter-Plan funktioniert für Standard-Oneboxen – er drosselt lediglich auf etwa 1 Onebox-Anfrage pro 15 Minuten. Ich habe ihn in einem relativ belebten Forum laufen und er scheint nur dann zu drosseln, wenn Leute versuchen, mehr als einen Onebox-Link in einem Beitrag zu posten.

3 „Gefällt mir“

Leider habe ich gerade festgestellt, dass dies das Einbetten vieler YouTube-Links (d. h. https://youtu.be/) verhindert, da die Links zu YouTube weiterleiten.

Die Leute posten weitaus mehr YouTube-Links als X-Beiträge. Ich habe es daher vorerst deaktiviert und werde X-Links einfach in twitter.com umwandeln.

2 „Gefällt mir“

Wir haben sehr selten Erwähnungen von x/twitter-Beiträgen. Und Twitter.com Oneboxen funktionieren, X.com jedoch nicht.

Bist du sicher? Ich meine nicht diese Komponente, sondern das native Oneboxing mit einem kostenlosen API-Token für Entwickler von Twitter und bei deaktivierter Komponente. Du sagst, du wirst gehostet – sie sollten in der Lage sein, das Standard-Oneboxing so einzurichten, wie es hier auf Meta existiert.

Ich habe das Rich-X/Twitter-Embedding kostenlos auf 2 verschiedenen selbst gehosteten Seiten. Ich verwende diese Komponente, wenn die X/Twitter-API aus irgendeinem Grund ausfällt, und schalte sie bei Bedarf einfach ein und aus.

5 „Gefällt mir“

Ich habe ein kostenloses Entwicklerkonto für X eingerichtet. Ich frage mich, wie man eine Twitter-One-Box zum Einbetten erhält?

Ich habe die native Twitter-Embed-Komponente, die einwandfrei funktioniert, aber ich möchte im Dunkelmodus posten.

Es scheint, dass das Deaktivieren von Twitter/X Oneboxen bei einigen neueren Discourse-Versionen nicht gut funktioniert.
Auch funktioniert diese Theme-Komponente bei bereits existierenden Oneboxen nicht korrekt.

Ich habe eine Funktion hinzugefügt, die zusätzlich zum Ersetzen der reinen Links durch ein natives Einbetten auch nach Twitter Oneboxen sucht und dann dasselbe tut.

Das bedeutet, dass es nicht mehr nötig ist, Oneboxing zu deaktivieren oder alte Beiträge neu zu erstellen.

PR hier Feature: support existing oneboxes by communiteq · Pull Request #1 · Lhcfl/discourse-twitter-native-embed · GitHub

3 „Gefällt mir“

Vielen Dank! Entschuldigung für die eineinmonatige Wartezeit. Ich lag damals im Krankenhaus und bin jetzt erst entlassen worden und habe diesen PR gesehen. Zusammengeführt!

5 „Gefällt mir“

Hallo zusammen… hat jemand Probleme mit diesem Plug-in? Es scheint, als wäre etwas kaputtgegangen, und es werden keine Embeds mehr angezeigt, weder mit x.com noch mit twitter.com. Gab es eine neue Discourse-Version, die das kaputtgemacht hat?

1 „Gefällt mir“

Ich bestätige, dass dies auch heute noch (26. September 2026) nicht funktioniert.

Auf meiner Instanz wirft die Komponente jetzt aktiv einen Fehler, anstatt stillschweigend zu fehlschlagen – Discourse zeigt den nur für Administratoren sichtbaren Banner an:

:warning: Beiträge werden möglicherweise nicht korrekt gerendert, da einer der Beitragsdekorateure auf deiner Seite einen Fehler verursacht hat. Verursacht durch “Twitter/X Einbindung” [Twitter/X embed].

Dies passiert immer wieder und löst siteweite Warnungen aus, die an den Safe Mode erinnern – es handelt sich also nicht nur um ein fehlendes Embed. Discourse-Version: 2026.10.0.

Hat jemand eine Lösung oder einen Workaround gefunden, abgesehen davon, die Komponente vollständig zu deaktivieren?

Ich werde nach der Behebung einiger IPv6-Probleme bei meinem Provider auf Nitter-Embeds umstellen und mich komplett von Twitter abmelden.

1 „Gefällt mir“

Seit Musk den API-Zugriff aufgrund anhaltender Bot-Spams drastisch eingeschränkt hat, leidet jede Form des externen Zugangs zur Plattform.

Die geschäftlichen und sicherheitsrelevanten Entscheidungen kann ich nachvollziehen, aber den Mangel an offiziellen Optionen für das externe Einbetten nicht.

Ich kenne Nitter, aber es ist nicht so bequem wie das Kopieren und Einfügen der ursprünglichen X-Links.

Es könnte sinnvoll sein, dass das Projektteam von Discourse selbst auf X Corp zugeht und ein offizielles Plugin anbietet.

Andernfalls sehe ich hier ehrlich gesagt keine Zukunft für Interoperabilität. Und X ist, ohne Zweifel, die wichtigste Nachrichtenplattform in der westlichen Welt

Beachte, dass Nitter letzten Monat eine Abmahnung erhalten hat und möglicherweise nicht lange mehr bestehen wird: X sends cease-and-desist to open source project Nitter over alleged scraping | TechCrunch

2 „Gefällt mir“

Sieht plausibel aus. Sie haben massenhaft Daten ohne Erklärung oder Möglichkeit zur Wiederherstellung gelöscht, die dahinterstehenden Interessen sind wirklich finster.

Das Community-Projekt, auf das ich verlinkt habe, ist aktiver als je zuvor. Codeberg, community-getrieben.

Bis X etwas ändert und Zed nicht mehr da ist, um die eigentliche, mühsame Scraping-Arbeit zu erledigen.

Nun, der Widerstand leistet Widerstand, solange es möglich ist, Widerstand zu leisten. Autistic (Inventati) hat jahrzehntelang für die Menschheit gearbeitet, bis es nicht mehr möglich war, fortzufahren.

Ich denke, Nitter würde mindestens ein Jahr lang ohne weitere Probleme gewartet werden. Sie pushen nur auf massive Dienste, und Self-Hosting hat nicht diesen Einfluss.

1 „Gefällt mir“

Ich habe einen kleinen Fork dieser Komponente erstellt, der den Absturz im abgesicherten Modus behebt (ungeschützter Nullwert bei einem fehlenden Attribut) sowie noch ein paar kleinere Probleme: GitHub - terraboss/discourse-x-native-embed: X embedding · GitHub — Bisher läuft alles einwandfrei, Feedback ist willkommen.

1 „Gefällt mir“

Dieses Bauteil ist nicht defekt und funktioniert auf meiner Website wie erwartet.

3 „Gefällt mir“

Update: erster Meilenstein meines Forks

Danke für das Feedback. Mein Fork hat den Safe-Mode-Banner bisher ferngehalten. Meine beste Vermutung für die Ursache ist nach wie vor ein fehlendes data-onebox-src-Attribut, aber das ist nicht bestätigt, also bitte als experimentell behandeln.

Seither habe ich ein paar Dinge hinzugefügt, einige davon wurden früher in diesem Thread gewünscht:

  • Der normale Link über einem Tweet verschwindet, sobald der Tweet geladen ist (er bleibt, wenn X nicht erreichbar ist)
  • weniger Springen beim Laden von Tweets und keine doppelten Einbettungen
  • Dark Mode für Einbettungen
  • auch nackte X-Links, die Discourse nicht oneboxt, werden eingebettet
  • das Zitieren eines Posts mit einem X-Link ersetzt dein Zitat nicht mehr durch den Tweet

Das ursprüngliche Konzept geht auf @Lhc_fl zurück. Der Fork wurde mit etwas KI-Hilfe von Claude erstellt. Ich würde mich freuen zu hören, wie es bei anderen funktioniert.

Scrollposition springt beim Hochscrollen in langen Themen

Wenn man in einem langen Thema nach oben scrollt, springt die Seite wiederholt ein Stück nach unten, sobald ältere, außerhalb des Sichtfelds liegende Posts neu aufgebaut werden (vermutlich im Zusammenhang mit Post Cloaking). Es ist störend genug, dass das Lesen eines langen Threads von unten nach oben schwierig ist.

Ich habe zunächst an ein Theme-Element gedacht (nativ eingebettete X/Twitter-Posts, die sich nach dem Neuladen in der Größe ändern), aber der Sprung scheint unabhängig davon ebenfalls aufzutreten. Beim Herunterscrollen tritt das Problem nicht auf, nur beim Hochscrollen.

Discourse-Version: Die neueste und beste. Ist jemand anderes auch auf dieses Problem gestoßen, oder ist es ein bekanntes Problem?

Vielleicht wäre eine Alternative, einen globalen Such- und Ersetzbefehl hinzuzufügen, der https://x.com durch https://fixupx.com ersetzt?

3 „Gefällt mir“

Danke für den Vorschlag! Ich fürchte, eine solche Alternative passt aber nicht zu diesem Projekt. Der eigentliche Zweck dieser Komponente besteht darin, Tweets direkt von X/Twitter einzubetten. Ein Drittanbieter-Proxy wie fixupx löst die grundlegenden Probleme nicht, sondern fügt lediglich eine weitere Ebene hinzu: einen zusätzlichen Dienst, der ausfallen oder sich ändern kann, und eine weitere Partei, die die Anfragen einsehen kann. Außerdem würden dabei die in den Beiträgen selbst gespeicherten Links umgeschrieben.

Was ich tatsächlich bevorzugen würde, wäre eine lokale Kopie der Tweets. Das würde die Ladezeiten und das Caching verbessern, die Einbettungen resilienter gegenüber Ausfällen machen und ein Archiv des Inhalts bewahren. Dafür bräuchte man jedoch bezahlten API-Zugang sowie eine Klärung der Fragen rund um Urheberrechte und Inhaltsverantwortung – beides kann ich nicht anbieten. Daher bleibt die Komponente vorerst bei den direkten Einbettungen.

Wer nur einfache Link-Vorschauen benötigt und mit einem Proxy einverstanden ist, für den kann ein Ersatz über überwachte Begriffe funktionieren. Das ist aber ein anderes Ziel als das dieser Komponente.