Auf einem anderen Discourse-Forum schlug @sam vor, dass ich hier einen Fehlerbericht erstelle: Es scheint (zumindest) intermittierende Fehler beim Oneboxing von CNN-Artikeln zu geben. Da dies eine hochkarätige Seite ist, scheint dies ziemlich bedeutsam zu sein. Es ist unklar, ob es sich um ein Ratenbegrenzungsproblem, einen User-Agent-Block, ein Problem auf der Discourse-Seite, ein tatsächliches Problem mit den oEmbed-Daten oder etwas anderes handelt.
Beispiele:
(Weitere Beispiele wurden aufgrund des neuen Benutzers entfernt.)
Die gemeldeten CNN-Links werden nicht als Onebox angezeigt, da die Antwortgröße 2,7 MB beträgt, was über dem aktuellen Limit von 2 MB liegt. Wir können dies beheben, indem wir die Standardgröße erhöhen, aber ich möchte das Risiko dabei besser verstehen.
Hängt von der Onebox-Engine ab. Einige Onebox-Engines wie Amazon kratzen bestimmte Informationen wie den Preis des Artikels aus dem <body>. Für Opengraph-Engines sollten wir theoretisch nur bestimmte Tags wie <meta> im <head> benötigen.
Der effizienteste Weg wäre, die Antwort während des Streamings nach den notwendigen Informationen zu durchsuchen, aber alle unsere Engines dafür zu ändern, wird wahrscheinlich erheblichen Aufwand erfordern und ist eine weitaus komplexere Lösung.
Tatsächlich ist Nokogiri, das wir zum Parsen der HTML-Antwort verwenden, in der Lage, unvollständigen HTML-Text zu parsen, sodass es keinen Grund gibt, die gesamte Antwort zu verwerfen, wenn sie zu groß ist. Ich denke, wir können die Antwortgröße weiterhin auf 2 MB begrenzen und wenn die Antwortgröße diesen Wert überschreitet, versuchen wir einfach, die ersten 2 MB zu parsen.
Lokal werden die in diesem Thema gemeldeten „problematischen“ URLs nicht mehr mit einem Fehler angezeigt, wenn wir versuchen, sie als Onebox darzustellen.