Sur un autre forum Discourse, @sam m’a suggéré de faire un rapport de bug ici : Il semble y avoir (au moins) une défaillance intermittente de l’intégration (oneboxing) des articles de CNN. Comme il s’agit d’un site très médiatisé, cela semble assez important. On ne sait pas s’il s’agit d’un problème de limitation de débit, d’un blocage de l’agent utilisateur, d’un problème côté Discourse, d’un problème réel avec les données oEmbed, ou autre chose.
Exemples :
(Exemples supplémentaires supprimés en raison du statut de nouvel utilisateur.)
Les liens CNN signalés ne sont pas mis en onebox car la taille de la réponse est de 2,7 Mo, ce qui est supérieur à la limite actuelle de 2 Mo. Nous pouvons résoudre ce problème en augmentant la taille par défaut, mais j’aimerais mieux comprendre le risque de le faire.
Dépend du moteur onebox. Certains moteurs onebox comme Amazon recherchent certaines informations, comme le prix de l’article, dans le <body>. Pour les moteurs opengraph, nous ne devrions en théorie avoir besoin que de certaines balises comme <meta> dans <head>.
La méthode la plus efficace consisterait à analyser la réponse pour obtenir les informations nécessaires pendant le streaming de la réponse, mais modifier tous nos moteurs pour ce faire nécessiterait probablement un effort considérable et constituerait une solution beaucoup plus complexe.
En fait, Nokogiri, que nous utilisons pour analyser la réponse HTML, est capable d’analyser du texte HTML incomplet, il n’est donc pas nécessaire de jeter toute la réponse lorsqu’elle est trop volumineuse. Je pense que nous pouvons simplement continuer à limiter le corps de la réponse à 2 Mo et si la taille de la réponse dépasse cela, nous essayons simplement d’analyser les 2 premiers Mo.