Intégration native de Twitter

Nous n’activons pas l’intégration dans l’aperçu du compositeur, ce qui est le comportement attendu.

|||
|-|-|-|
| :information_source: | Résumé | Permettre à Discourse de prendre en charge les intégrations Twitter natives |
| :hammer_and_wrench:|Dépôt| GitHub - Lhcfl/discourse-twitter-native-embed |
| :question:|Guide d’installation|Comment installer un thème ou un composant de thème|
| :open_book:|Nouveau aux thèmes Discourse ?| Guide pour débutants sur l’utilisation des thèmes Discourse

Installer ce composant de thème

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.

https://platform.twitter.com/

37 « J'aime »

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.

1 « J'aime »

Bien sûr que non. Veuillez m’envoyer un lien vers votre site et je regarderai pourquoi ce composant fonctionne bien sur mon forum.

5 « J'aime »

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.

6 « J'aime »

Bien joué. Merci pour ce composant de thème. Excellent travail en temps voulu. :slightly_smiling_face:

3 « J'aime »

Merci beaucoup pour cela !

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.

2 « J'aime »

Le nôtre se produit dans l’ordre inverse… l’aperçu montre l’intégration et ensuite elle ne l’affiche pas lorsqu’elle est publiée.

1 « J'aime »

Beau travail et bonne idée.

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 !

9 « J'aime »

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.

2 « J'aime »

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.

Merci beaucoup !

1 « J'aime »

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

1 « J'aime »

Merci.

1 « J'aime »

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”

2 « J'aime »

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.

Cette idée reçoit-elle le soutien de @team ?

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.

2 « J'aime »

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.

2 « J'aime »

Salut ljpp,

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. :slight_smile:

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 ?

3 « J'aime »

Nous y réfléchissons, mais il y a deux très gros problèmes à aborder ici :

  1. L’IFRAME signifie que nous autorisons Twitter à suivre les utilisateurs. Il y a des préoccupations en matière de confidentialité.
  2. 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.
6 « J'aime »

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.

Cas délicat en effet.

5 « J'aime »

Je ne suis pas vraiment sûr de ce qu’il faut regarder, mais voici les résultats après avoir collé le lien dans le compositeur :


et dans l’aperçu, j’obtiens ce message :


Voici le tweet :

2 « J'aime »

Mise à jour :

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.

2 « J'aime »