Embeds do Twitter quebraram

Olá, há alguns dias, no nosso fórum Discourse, os embeds do Twitter pararam de funcionar, o que causou problemas como a necessidade de clicar em cada tweet e a impossibilidade de ver um resumo primeiro.

Eles atualmente aparecem assim:
image

Alguém sabe qual é o problema e qual é a solução?

Minha suposição é que isso tem a ver com esse problema.

A empresa está desativando a versão original do tema legado do site em 1º de junho de 2020

Meu site também está apresentando esse problema. Assim como outro do qual faço parte.

Experimentando um:

Consegue encontrar um exemplo de um tweet que falha ao ser incorporado no try.discourse.org?

Isso é o que não foi renderizado no meu site:

Estou na versão mais recente:

Link para a postagem onde não está sendo renderizado:
https://forums.agent49.net/t/d1-conference-adjustments-sports-being-canceled-thread/409/91?u=agent49

Este, o que você linkou, tem o mesmo problema no site que eu uso.

Aqui está outro exemplo de um que está sendo incorporado corretamente aqui, mas parece que não no nosso fórum.

Verificando o painel de administração, não estamos na versão mais recente. Houve alguma alteração entre essas duas versões que poderia levar a uma correção?

Todas as tags Open Graph estão faltando no Twitter atualmente, exceto uma:

<meta property="og:site_name" content="Twitter" />

Receio que não haja nada que possa ser feito, exceto talvez usar alguma API misteriosa ou algo assim, especificamente para os Oneboxes do Twitter.

Parece que o Twitter realmente removeu as tags OpenGraph. Se você habilitar embeds ricos no seu site, temos uma maneira de contornar isso.

Confirmado via http://www.opengraphtester.com/test/:

Obrigado, vou pedir ao administrador para testar isso para nós quando ele tiver um tempo hoje.

Obrigado, parece que funcionou. O único problema é que os vídeos não estão sendo incorporados, mas você ainda pode ver o autor e a descrição do tweet, então está tudo bem.

Obrigado, isso funcionou para mim também.

Mesmo com a solução alternativa existente, na minha opinião, faz sentido adicionar algumas regras de onebox personalizadas para que não pareça tão quebrado logo de cara.

Tentei implementar o acima, mas ainda vejo apenas os colchetes sendo exibidos.

Comigo também. A solução alternativa não funciona para o meu fórum.

Ah, agora está funcionando, exceto por alguns links antigos. Estou assumindo que algo foi armazenado em cache pelo fórum; vou ver se consigo encontrar uma maneira de rearmazená-los em cache.

Comigo também… Paciência é algo que preciso aprender… :smiley:

Postei sobre essa mudança nos fóruns do Twitter; vamos ver se surge algo útil.

Acredito que essa mudança tenha sido feita para economizar tempo de renderização nos servidores deles, já que as tags agora são preenchidas apenas pelo React durante a renderização no cliente. Isso torna o HTML deles estático, permitindo que adotem Architecture  |  web.dev, o que faz com que os aplicativos web renderizem muito mais rápido.

Ei, temos uma solução alternativa!

# chamada padrão
➜  ~ curl https://twitter.com/TwitterSupport/status/1267105441278033920 -s | grep og:
<meta property="og:site_name" content="Twitter" />

# user agent especial
➜  ~ curl https://twitter.com/TwitterSupport/status/1267105441278033920 -s -H "User-Agent: DiscourseBot/1.0" | grep og:
    <meta  property="og:type" content="article">
    <meta  property="og:url" content="https://twitter.com/TwitterSupport/status/1267105441278033920">
    <meta  property="og:title" content="Twitter Support on Twitter">
    <meta  property="og:image" content="https://pbs.twimg.com/profile_images/1266884366279471105/OTps6MBS_400x400.jpg">
    <meta  property="og:description" content="“Para acompanhar o que está acontecendo em tempo real, toque no ✨ localizado no canto superior direito da sua linha do tempo Início para alternar de ver os Tweets principais para os Tweets mais recentes primeiro.”">
    <meta  property="og:site_name" content="Twitter">

Isso é algo que podemos usar, @techAPJ?

Com certeza, isso ajuda muito! :heart_eyes:

Vou atualizar o motor onebox do Twitter logo amanhã de manhã. :memo: