Su un altro forum di Discourse, @sam mi ha suggerito di segnalare un bug qui: Sembra esserci (almeno) un fallimento intermittente del oneboxing degli articoli della CNN. Poiché si tratta di un sito di alto profilo, sembra piuttosto significativo. Non è chiaro se si tratti di un problema di limitazione della frequenza, di un blocco dell’user-agent, di un problema lato Discourse, di un problema effettivo con i dati oEmbed, o altro.
Esempi:
(Esempi aggiuntivi rimossi a causa dello stato di Nuovo Utente.)
I link CNN segnalati non vengono sottoposti a onebox perché la dimensione della risposta è 2,7mb, che è maggiore del limite attuale di 2mb. Possiamo risolvere questo problema aumentando la dimensione predefinita, ma vorrei capire meglio il rischio di farlo.
Dipende dal motore onebox. Alcuni motori onebox come Amazon effettuano lo scraping di determinate informazioni come il prezzo dell’articolo all’interno del <body>. Per i motori opengraph, in teoria dovremmo aver bisogno solo di determinati tag come <meta> in <head>.
Il modo più efficiente sarebbe analizzare la risposta per le informazioni necessarie durante lo streaming della risposta, ma cambiare tutti i nostri motori per farlo richiederà probabilmente uno sforzo considerevole ed è una soluzione molto più complessa.
In realtà, Nokogiri, che utilizziamo per analizzare la risposta HTML, è in grado di analizzare testo HTML incompleto, quindi non è necessario scartare l’intera risposta quando è troppo grande. Penso che possiamo semplicemente continuare a limitare il corpo della risposta a 2 MB e, se la dimensione della risposta supera tale limite, provare ad analizzare i primi 2 MB.