soit dit en passant, je ne sais pas à quel point votre forum est occupé ni à quelle fréquence les onebox x/twitter sont publiées, mais le plan twitter gratuit de base fonctionne pour les onebox par défaut - il limite simplement à environ 1 requête de onebox toutes les 15 minutes. je l’ai en cours d’exécution sur un forum relativement fréquenté et il ne semble limiter que lorsque les gens essaient de publier plus d’un lien onebox dans un message.
Malheureusement, je viens de découvrir que cela empêche l’intégration de nombreux liens YouTube (c’est-à-dire https://youtu.be/) car les liens redirigent vers YouTube.
Les gens publient beaucoup plus de liens YouTube qu’ils n’en publient sur X. J’ai donc désactivé pour l’instant et je vais simplement remplacer x.com par twitter.com pour l’instant.
Nous avons très rarement des publications x/twitter mentionnées. Et les onebox de Twitter.com fonctionnent, mais celles de X.com non.
êtes-vous sûr ? Je ne parle pas de ce composant, mais du onebox natif utilisant un jeton d’API gratuit du plan de développeur Twitter et avec ce composant désactivé. Vous dites que vous êtes hébergé - ils devraient être en mesure de configurer le oneboxing par défaut comme celui qui existe ici sur Meta.
J’ai l’intégration riche x/twitter gratuitement sur 2 sites auto-hébergés différents. J’utilise ce composant lorsque l’API x/twitter tombe en panne pour une raison quelconque et je l’active et le désactive au besoin alors.
J’ai configuré un compte développeur gratuit pour X. Je me demande comment obtenir une boîte une de Twitter pour l’intégration ?
J’ai le composant d’intégration Twitter natif qui fonctionne bien, mais je souhaite publier en mode sombre.
Il semble que sur certaines versions récentes de Discourse, la désactivation des onebox Twitter/X ne fonctionne pas correctement.
De plus, ce composant de thème ne fonctionne pas correctement sur les onebox déjà existantes.
J’ai ajouté une fonctionnalité qui, en plus de remplacer les liens bruts par un embed natif, recherche également les onebox Twitter, puis fait la même chose.
Cela signifie qu’il n’est plus nécessaire de désactiver l’oneboxing ou de reconstruire les anciens messages.
Merci ! Désolé pour ce mois d’attente. J’étais hospitalisé et alité à l’époque, et ce n’est que maintenant, après ma sortie de l’hôpital, que j’ai vu cette PR. Elle est fusionnée !
Salut à tous… quelqu’un rencontre-t-il des problèmes avec ce plug-in ? Il semblerait que quelque chose ait cassé et qu’il n’affiche plus les intégrations, que ce soit avec x.com ou twitter.com. Y a-t-il eu une nouvelle version de Discourse qui l’a cassé ?
Je confirme que le problème persiste à ce jour (26 septembre 2026).
Sur mon instance, le composant ne se contente plus d’échouer silencieusement : il lève désormais activement une erreur — Discourse affiche le bandeau réservé aux administrateurs :
Les messages peuvent ne pas s’afficher correctement car l’un des décorateurs de messages de votre site a provoqué une erreur. Cause : « Twitter/X Einbindung » [Intégration Twitter/X].
Cela se produit de manière répétée et déclenche des avertissements de type « Safe Mode » à l’échelle du site, et non simplement une intégration manquante. Version de Discourse : 2026.10.0.
Quelqu’un a-t-il trouvé une solution ou un contournement, autre que la désactivation complète du composant ?
Je passerai aux intégrations de Nitter après avoir résolu certains problèmes IPv6 chez mon fournisseur, et je me désinscrirai complètement de Twitter.
Depuis que Musk a drastiquement restreint l’accès à l’API en raison du spam de bots persistant, toutes les formes d’accès externe à la plateforme en souffrent.
Je comprends les décisions d’ordre commercial et de sécurité, mais pas l’absence d’options officielles pour l’intégration externe.
Je connais Nitter, mais il n’est pas aussi pratique que le copier-coller des liens X originaux.
Il serait peut-être judicieux que l’équipe du projet Discourse contacte elle-même X Corp pour proposer un plugin officiel.
Sinon, je ne vois vraiment pas d’avenir pour l’interopérabilité ici. Et X est, sans aucun doute, la plateforme d’actualités la plus importante dans le monde occidental
Notez que Nitter a reçu une mise en demeure le mois dernier et qu’il pourrait ne pas durer bien plus longtemps : X sends cease-and-desist to open source project Nitter over alleged scraping | TechCrunch
Ça a l’air légitime. Ils ont effacé une grande partie de leurs données sans aucune explication ni possibilité de récupération, les intérêts qui se cachent derrière sont vraiment sombres.
Le projet communautaire que j’ai mentionné est plus vivant que jamais. Codeberg, piloté par la communauté.
Jusqu’à ce que X change quelque chose et que Zed ne soit plus là pour effectuer le travail fastidieux de scraping.
Eh bien, la résistance résiste tant qu’il est possible de résister. Autistic (Inventati) travaillait pour l’humanité depuis des décennies jusqu’à ce qu’il ne soit plus possible de continuer.
Je pense que Nitter serait maintenu pendant au moins un an sans problèmes supplémentaires. Ils ne poussent que vers des services massifs, et l’auto-hébergement n’a pas cet impact.
J’ai créé un petit fork de ce composant qui corrige le plantage en mode sans échec (null non protégé en cas d’attribut manquant) ainsi que quelques autres problèmes mineurs : GitHub - terraboss/discourse-x-native-embed: X embedding · GitHub — ça fonctionne bien pour l’instant, vos retours sont les bienvenus.
Mise à jour : premier jalon de mon fork
Merci pour vos retours. Mon fork a réussi à empêcher l’affichage de la bannière en mode sans échec jusqu’à présent. Mon hypothèse la plus probable reste un attribut data-onebox-src manquant, mais ce n’est pas confirmé, veuillez donc considérer cela comme expérimental.
Depuis, j’ai ajouté quelques fonctionnalités, dont certaines avaient été demandées plus tôt dans ce fil :
- le lien simple au-dessus d’un tweet disparaît une fois que le tweet est chargé (il reste visible si X est inaccessible)
- moins de sauts de page pendant le chargement des tweets, et plus de doublons d’intégrations
- mode sombre pour les intégrations
- les liens X bruts que Discourse n’a pas transformés en onebox sont également intégrés
- citer un message contenant un lien X ne remplace plus votre citation par le tweet
Tout le mérite de l’idée originale revient à @Lhc_fl. Le fork a été développé avec l’aide de l’IA Claude. Je serais ravi d’avoir vos retours sur son fonctionnement.
Sauts de position de défilement lors du défilement vers le haut dans les sujets longs
Lors du défilement vers le haut dans un sujet long, la page rebondit régulièrement un peu vers le bas lorsque des messages plus anciens, hors écran, sont reconstruits (probablement lié au masquage des messages). C’est assez perturbant pour lire un long fil de bas en haut.
J’ai d’abord soupçonné un composant de thème (les intégrations natives X/Twitter redimensionnées après rechargement), mais le saut semble se produire indépendamment de cela également. Le défilement vers le bas ne présente pas le même problème, seulement vers le haut.
Version de Discourse : la dernière en date. Quelqu’un d’autre a-t-il rencontré ce problème, ou s’agit-il d’un bug connu ?
Peut-être qu’une alternative consisterait à ajouter un terme de remplacement global, afin de remplacer https://x.com par https://fixupx.com ?
Merci pour la suggestion ! Je crains qu’un remplacement de ce type ne convienne pas à ce projet. L’objectif principal de ce composant est d’intégrer directement des tweets depuis X/Twitter. Un proxy tiers tel que fixupx ne résout pas les problèmes sous-jacents, il n’ajoute qu’une couche supplémentaire intermédiaire : un service de plus qui peut tomber en panne ou changer, et une partie de plus qui voit les requêtes. Il réécrirait également les liens stockés dans les publications elles-mêmes.
Ce que je préférerais réellement, c’est une copie locale des tweets. Cela aiderait à réduire les temps de chargement et à améliorer la mise en cache, rendrait les intégrations résistantes aux pannes et permettrait de conserver une archive du contenu. Mais cela nécessiterait un accès API payant et une clarification concernant les droits d’auteur et la responsabilité du contenu, et je ne peux fournir ni l’un ni l’autre. Pour l’instant, le composant se limite donc aux intégrations directes.
Si quelqu’un n’a besoin que d’aperçus de liens simples et qu’un proxy lui convient, un remplacement par mot surveillé peut fonctionner, mais c’est un objectif différent de celui de ce composant.
