Incamento Nativo do Twitter

Voltou e o meu sumiu de novo

Desculpe, mas você pode listar a correção por completo como se estivesse explicando para uma criança? :sweat_smile:

  1. Instale o componente do tema
  2. Adicione https://platform.twitter.com/ à configuração content security policy script src
  3. Adicione twitter.com a blocked onebox domains
  4. Adicione qualquer coisa na configuração twitter consumer key
  5. Adicione qualquer coisa na configuração twitter consumer secret

E deve funcionar

6 curtidas

Ah, entendi, obrigado Steven. Alguém tem alguma ideia de como consertar os embeds nativos do Twitter? Eles estão aparecendo apenas como links no meu site atualmente, há cerca de uma semana, ou este componente é a única correção para os embeds do Twitter?

Esqueci de uma etapa, adicionando twitter.com ao domínio de onebox bloqueado (para os outros) :man_facepalming: Editei a postagem anterior.

Você pode compartilhar um link para o seu fórum por DM (um tópico com um link do Twitter)? Quero ter certeza de que você ativou o componente de tema (algumas pessoas podem esquecer de adicioná-lo aos seus temas), ou verificar a mensagem de origem (o link do Twitter precisa estar em uma linha própria)

2 curtidas

Posso confirmar que as instruções fornecidas por @Steven funcionam na minha instância executando a versão mais recente (3.1.0.beta6)

1 curtida

@Solarus isso também funcionou para posts do Twitter com imagens anexadas?

Ex: https://twitter.com/droneswmp/status/1686451431006453760

Isso também funcionou para mim. No entanto, como etapa final, tive que reconstruir minha instância de forma suave atualizando meu cliente da instância do Discourse. Isso pareceu dar o proverbial “salto inicial”.

Testei com um tweet incorporado de vídeo, posso verificar este tweet específico na minha instância e reportar.

@Richie tentei com o seu tweet de exemplo e o tweet+imagem renderiza bem, sem problemas (meu idioma é espanhol)

há algum plano para trabalhar o embed com o link “http://x.com”?

2 curtidas

Obrigado pelo lembrete. Vou corrigir imediatamente.

3 curtidas

Agora ele suporta x.com como um link.
Deve-se notar que parece que o próprio Twitter ainda não habilitou totalmente o nome de domínio x.com. Não sei que alterações serão feitas no formato do link e no JavaScript usado para o carregamento se o link de compartilhamento padrão mudar para x.com no futuro.

6 curtidas

O primeiro post pode ser editado com as instruções corretas?

Estou tentando seguir o tópico, mas há alguém sugerindo adicionar twitter.com aos domínios bloqueados para onebox, depois outro dizendo que não é necessário. Em seguida, outro dizendo para remover as chaves da API do Twitter e outro dizendo para adicionar qualquer coisa a esse campo…

O nosso parou de funcionar há algum tempo, então meio que desistimos.

Assumimos que Elon estava aprontando alguma coisa, então pensamos em esperar a poeira baixar :blush:

Obrigado pela dica, acabei de atualizar a instrução.

3 curtidas

Em nosso fórum, observamos que encapsular o tweet em um bloco [quote] faz com que o rich embed funcione, caso contrário, apenas o texto é visualizado. Pode ser um problema com nosso tema de alguma forma, mas pensei em deixar isso aqui caso alguém encontre um comportamento semelhante.

Você poderia tentar verificar o elemento link para ver se ele tem uma classe onebox?
Se você quiser que o componente de tema funcione, ele depende de ter um atributo de classe “onebox”.

Você já tentou adicionar twitter.com e x.com a domínios bloqueados de onebox?

<a href="https://x.com/username/status/..." class="onebox">
3 curtidas

Adicionei tanto o Twitter quanto o X aos domínios de onebox bloqueados (esqueci o X inicialmente), mas o comportamento estranho persiste.

Sobre a classe CSS onebox, não sei onde deveria ver isso porque, por exemplo, com este tweet:

https://twitter.com/SpoutLore/status/1715688928806944943

Tudo o que vejo é a postagem incorporada após o envio:

<aside class="onebox twitterstatus" data-onebox-src="https://twitter.com/SpoutLore/status/1715688928806944943">
  <header class="source"><svg class="fa d-icon d-icon-fab-twitter svg-icon svg-string" xmlns="http://www.w3.org/2000/svg">
    <use href="#fab-twitter">
    </use>
  </svg>

      <a href="https://twitter.com/SpoutLore/status/1715688928806944943" target="_blank" rel="noopener">twitter.com</a>
  </header>

  <article class="onebox-body">
    
<h4><a href="https://twitter.com/SpoutLore/status/1715688928806944943" target="_blank" rel="noopener">Spout Lore <span class="badge badge-notification clicks" title="1 click">1</span></a></h4>
<div class="twitter-screen-name"><a href="https://twitter.com/SpoutLore/status/1715688928806944943" target="_blank" rel="noopener">@SpoutLore</a></div>

<div class="tweet">
  <span class="tweet-description">🚨NEW EPISODE!!🚨

In this ep the gang takes a page out of Christopher Nolan's book and tries to incept the shit out of themselves to see if they can figure literally ANYTHING out.

Also, most of this episode happens at a $7.99 pizza hut lunch buffet.

https://t.co/gDtdYQOYao</span>
</div>

<div class="date">
  <a href="https://twitter.com/SpoutLore/status/1715688928806944943" class="timestamp" target="_blank" rel="noopener">

</a>


</div>

  </article>

  <div class="onebox-metadata">
    
    
  </div>

  <div style="clear: both"></div>
</aside>

Ou, se estiver em um bloco de citação, isto:

<div class="twitter-tweet twitter-tweet-rendered" style="display: flex; max-width: 550px; width: 100%; margin-top: 10px; margin-bottom: 10px;"><iframe id="twitter-widget-13" scrolling="no" frameborder="0" allowtransparency="true" allowfullscreen="true" class="" style="position: static; visibility: visible; width: 550px; height: 786px; display: block; flex-grow: 1;" title="Twitter Tweet" src="https://platform.twitter.com/embed/Tweet.html?dnt=false&amp;embedId=twitter-widget-13&amp;features=eyJ0ZndfdGltZWxpbmVfbGlzdCI6eyJidWNrZXQiOltdLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X2ZvbGxvd2VyX2NvdW50X3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9iYWNrZW5kIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19yZWZzcmNfc2Vzc2lvbiI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfZm9zbnJfc29mdF9pbnRlcnZlbnRpb25zX2VuYWJsZWQiOnsiYnVja2V0Ijoib24iLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X21peGVkX21lZGlhXzE1ODk3Ijp7ImJ1Y2tldCI6InRyZWF0bWVudCIsInZlcnNpb24iOm51bGx9LCJ0ZndfZXhwZXJpbWVudHNfY29va2llX2V4cGlyYXRpb24iOnsiYnVja2V0IjoxMjA5NjAwLCJ2ZXJzaW9uIjpudWxsfSwidGZ3X3Nob3dfYmlyZHdhdGNoX3Bpdm90c19lbmFibGVkIjp7ImJ1Y2tldCI6Im9uIiwidmVyc2lvbiI6bnVsbH0sInRmd19kdXBsaWNhdGVfc2NyaWJlc190b19zZXR0aW5ncyI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdXNlX3Byb2ZpbGVfaW1hZ2Vfc2hhcGVfZW5hYmxlZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9LCJ0ZndfdmlkZW9faGxzX2R5bmFtaWNfbWFuaWZlc3RzXzE1MDgyIjp7ImJ1Y2tldCI6InRydWVfYml0cmF0ZSIsInZlcnNpb24iOm51bGx9LCJ0ZndfbGVnYWN5X3RpbWVsaW5lX3N1bnNldCI6eyJidWNrZXQiOnRydWUsInZlcnNpb24iOm51bGx9LCJ0ZndfdHdlZXRfZWRpdF9mcm9udGVuZCI6eyJidWNrZXQiOiJvbiIsInZlcnNpb24iOm51bGx9fQ%3D%3D&amp;frame=false&amp;hideCard=false&amp;hideThread=false&amp;id=1715688928806944943&amp;lang=en&amp;origin=https%3A%2F%2Fnetgamers.it%2Ft%2Fusa-fascismo-e-polizia-part-2%2F836096%2F200&amp;sessionId=29bf06409a54fcadc10eb870158a5a32ae1772c3&amp;theme=light&amp;widgetsVersion=01917f4d1d4cb%3A1696883169554&amp;width=550px" data-tweet-id="1715688928806944943"></iframe></div>

Tentar isso aqui mostra o mesmo comportamento para o link direto simples, a parte de mídia é omitida (pelo menos na prévia que posso ver ao lado desta resposta)

A citação aqui não se transforma no iframe completo, acho que eles fizeram algo diferente ou não estão usando este componente.

https://twitter.com/SpoutLore/status/1715688928806944943

Sim, na verdade usar o iframe do Twitter é o último recurso. Existem muitas desvantagens em usar iframes. O Discourse meta não usa este componente de tema, e acho que eles não vão usar.

Isso é no seu fórum? Parece que o próprio rich embed do Discourse desempenhou um papel. Eu escrevi este componente de tema para aqueles que não podem acessar o rich embedding porque não têm acesso à API.

Eu não considerei que fóruns que já podem usar rich embeds usariam este componente de tema.

1 curtida

É um fórum que eu administro (não é de minha propriedade). Estou testando isso porque os oneboxes não estão funcionando corretamente há algum tempo.