A miniatura do YouTube não aparece na Lista de Tópicos, por exemplo, no tema Fakebook ou no plugin TLP.
Passos para Reproduzir (STR):
Publique um vídeo do YouTube, mude para o tema Fakebook e a miniatura não aparecerá.
Solução Alternativa:
Reconstrua o post e a miniatura aparecerá. No entanto, como os usuários esperam que a miniatura apareça imediatamente, sem intervenção da equipe, essa não é uma boa solução.
Mais Informações:
Topic.image_url parece estar como nil.
Isso parece ter sido quebrado recentemente, após o início de agosto… Acredito que funcionava antes de 5 de agosto (mas não tenho certeza de quando exatamente quebrou). Percebi que isso coincide aproximadamente com uma nova versão do Onebox…
Testei isso em uma build anterior e o problema não estava presente, o que descarta respostas og do YouTube. Além disso, o tema Fakebook apresenta o mesmo comportamento que o plugin TLP, descartando o plugin TLP. Portanto, suspeito que seja uma regressão recente no Discourse ou no Onebox.
Isso é um problema real para os usuários dos Pré-visualizações da Lista de Tópicos.
@nbianca por que não estamos mais usando o método post.post_analyzer.found_oneboxes? aqui?
Todos os oneboxes que usam oembed ou iframe falharão no novo modo de seletor CSS, o que também faz com que nosso detector de Onebox seja diferente em toda a base de código.
O problema era que o First Onebox era concedido para qualquer link postado, independentemente de ser ou não um Onebox. Isso ocorre porque o PrettyText adiciona class="onebox" a todos os links e, em seguida, o Oneboxer tenta analisar todos os links com a classe onebox.
A alteração que fiz verifica se o documento final possui algum Onebox (Oneboxes são aside com a classe onebox). Vou dar outra olhada para ver o que está quebrado e por que, e retornarei com uma alteração que corrija ambos os problemas.
Acabei de testar a versão 2.3.2 e não parece que links do YouTube definem o atributo image_url do tópico. O motivo é que a imagem é extraída do atributo src de uma tag img, mas quando um vídeo do YouTube é vinculado, há um <div> com um atributo CSS background-image.
Tem certeza de que image_url costumava ser definido?