Sul mio forum Discourse, gli utenti sono incoraggiati a utilizzare servizi di hosting di immagini esterni quando possibile. Il più comune è Imgur, che dopo un po’ inizia a limitare la frequenza del server Discourse con un errore 429. Sebbene questo sia un problema irrisolvibile con Imgur, Discourse non lo gestisce in modo ottimale. Attualmente, quando Imgur restituisce un errore 429, Discourse lo interpreta come un link immagine non valido e visualizza semplicemente l’URL dell’immagine con tag <a>. Ma non c’è nulla che impedisca ai singoli utenti di visualizzare tali immagini inline in Discourse poiché il loro browser e IP sono diversi. Discourse dovrebbe comunque generare HTML valido per visualizzare l’immagine. Ad esempio:
https://i.imgur.com/eHltaVt.jpeg
Questo URL viene limitato sul mio server e Discourse genera semplicemente un link:
<a>https://i.imgur.com/eHltaVt.jpeg</a>
Ma il seguente HTML funziona bene per visualizzare l’immagine nel browser dell’utente finale, sia nell’anteprima del post che nel post “cotto”:
<img src="https://i.imgur.com/eHltaVt.jpeg">
Questo è l’HTML che Discourse dovrebbe generare anche se riceve un 429 quando il server raggiunge l’URL, e dovrebbe lasciare l’URL nudo solo se riceve un errore 404.