Une récente limitation de l’API Twitter a empêché l’affichage de certaines “oneboxes” de forums Discourse. Ce composant de thème permet à Discourse de prendre en charge les intégrations Twitter natives sans nécessiter les API de Twitter.
Le composant de thème demande un javascript Twitter depuis platform.twitter.com, donc si Twitter le souhaitait, il pourrait vous suivre dans ce javascript et causer des problèmes de confidentialité. Vous devez peser si vous faites confiance à cette plateforme sociale qui devient de plus en plus ridicule.
Pour utiliser ce composant, vous devez ajouter le lien Twitter à la plage d’autorisations de la politique de sécurité du site dans les paramètres du site et ajouter twitter.com et x.com aux domaines de “onebox” bloqués.
Faut-il reconstruire après avoir fait cela ? J’ai installé et ajouté cela à la politique de sécurité du contenu, mais il n’y a toujours pas d’intégrations, juste le lien.
Merci, j’ai trouvé. Après avoir supprimé la clé et le secret du consommateur Twitter des paramètres, cela fonctionne comme prévu. Je pense que cela essayait par défaut d’intégrer en utilisant l’API parce que je ne les avais pas supprimés. Merci encore d’avoir fait cela, ce serait formidable si quelque chose comme ça était également possible pour Instagram.
Cela fonctionne comme annoncé pour moi, mais peut-être que ce n’est pas clair, c’est que dans l’aperçu, on ne voit que l’URL du tweet comme un hyperlien, l’intégration se produit lorsque la réponse ou le message est soumis.
J’ai travaillé sur un petit fork pour utiliser le mode sombre data-theme pour l’intégration. Cela fonctionne bien, mais je ne suis pas un expert en codage.
Si vous parvenez à ajouter une option pour utiliser le thème par défaut ou le thème sombre, je pense que ce sera encore mieux !
Nous avons effectué toutes les modifications recommandées ci-dessus. Notre problème actuel ne se manifeste que lors de la publication à partir d’un appareil mobile… l’intégration d’un Tweet à partir d’un ordinateur portable/de bureau fonctionne désormais correctement.
Certaines personnes souhaitent des intégrations et n’ont pas besoin de fonctionnalité de « connexion », et ce composant va donc être très populaire et oui, je vois aussi des demandes pour d’autres plateformes.
Personnellement, j’aime le style d’intégration Twitter plus naturel que le Onebox. Si les intégrations des plateformes les plus populaires conservent l’apparence native, cela les différencie bien dans le flux d’un sujet. Vraiment excellent travail et je ne peux m’empêcher de penser pourquoi nous n’avons pas eu cela auparavant pour éviter toutes les complexités de la configuration du compte développeur, mais bon, il le faut et les vaillants et les courageux relèvent le défi.
Sur un autre point concernant la fragilité des intégrations en tant que contenu, après avoir examiné le sujet de l’implosion de Twitter, cela m’a fait repenser à une vieille idée que j’avais.
Si les intégrations pouvaient générer une image bitmap de sauvegarde de l’aperçu de l’intégration dans le cadre de la fonction d’intégration, cela protégerait contre les résultats de type Photobucket et similaires.
Je n’ai aucune idée de la manière dont cela pourrait être codé, mais j’imagine que cela fonctionnerait en principe un peu comme la fonction qui récupère l’image d’un lien d’image posté et qui est stockée dans la base de données native, alors que je suppose que c’est plus facile puisqu’il s’agit d’un fichier déjà existant quelque part sur un serveur, cela agirait, je suppose, de la même manière qu’une fonction de capture d’écran personnalisée à la volée, qui se produit lorsqu’une intégration est validée dans un message Discourse.
L’archivage d’une partie de leur contenu par les sites est utile car, avec l’âge du web, des choses disparaissent de temps en temps.
Je vais également suggérer une autre fonctionnalité dans ce sens ici
Ceci est important et vient d’être découvert, en recoupant les informations - si vous n’aviez pas activé CSP auparavant et que vous utilisez par exemple Google AdSense, vous allez supprimer vos publicités en activant CSP si vous utilisez le chiffrement (DM) pour que le composant Twitter fonctionne car il y a un conflit potentiel !
J’aimerais qu’on me prouve le contraire avec une super solution ou “vous l’avez mal fait”
En supposant que le oneboxing via l’API nécessite désormais un abonnement payant à Twitter, cette méthode pourrait-elle/devrait-elle être ajoutée au cœur de Discourse ? Les grandes communautés d’entreprise peuvent se permettre les frais d’Elon, mais c’est hors de portée pour les organisations à but non lucratif et les petites communautés.
L’érosion de Twitter est un cas difficile à gérer. C’est toujours la source n°1 pour la plupart des nouvelles et des événements, utilisée par les maisons de médias, les entreprises et les personnes d’intérêt. Malgré le remue-ménage d’Elon, il n’y a pas de concurrent crédible ou d’alternative à la plateforme.
Malheureusement, ce composant ne fonctionne pas sur mon instance Discourse. Nous avons supprimé les clés de connexion Twitter, mais toujours rien. Nous avons également activé le CSP.
La perte des rich embeds n’est certainement pas souhaitée, et nous en discutons pour voir ce qui peut être fait correctement à ce sujet.
Lorsque vous collez un lien Twitter dans le compositeur, que renvoie l’onglet réseau de vos outils de développement de navigateur ?
Y a-t-il des erreurs dans la console javascript ?
Nous y réfléchissons, mais il y a deux très gros problèmes à aborder ici :
L’IFRAME signifie que nous autorisons Twitter à suivre les utilisateurs. Il y a des préoccupations en matière de confidentialité.
L’IFRAME signifie que nous devons mener la guerre de la hauteur « inconnue ». Si nous n’avons pas de hauteur et que nous ne l’obtenons qu’après avoir discuté avec Twitter, la page devient instable, ce qui peut avoir un impact considérable sur l’expérience Discourse. Déterminer la hauteur à l’avance est très difficile.
Absolument. Ce contournement de composant de thème charge du JavaScript depuis les serveurs de Twitter, et compte tenu de la situation générale de Twitter, c’est un risque énorme pour la vie privée. Par conséquent, je suis réticent à appliquer ce composant de thème, du moins pour l’instant.
Les intégrations fonctionnent maintenant, mais l’aperçu du compositeur affiche toujours le message « Désolé, nous ne pouvons pas générer… ». Une fois publié, tout semble correct.