Incamento Nativo do Twitter

Não habilitamos a incorporação na visualização do composer, que é o comportamento esperado.

|||
|-|-|-|
| :information_source: | Resumo | Habilitar o Discourse para suportar incorporações nativas do Twitter |
| :hammer_and_wrench:|Repositório| GitHub - Lhcfl/discourse-twitter-native-embed |
| :question:|Guia de Instalação|Como instalar um tema ou componente de tema|
| :open_book:|Novo em Temas do Discourse?| Guia para iniciantes sobre como usar temas do Discourse|

Instalar este componente de tema

Uma limitação recente da API do Twitter impediu a exibição de algumas oneboxes do fórum Discourse. Este componente de tema permite que o Discourse suporte incorporações nativas do Twitter sem a necessidade de APIs do Twitter.

O componente de tema solicita um script do Twitter de platform.twitter.com, portanto, se o Twitter quisesse, ele poderia rastreá-lo neste script e causar problemas de privacidade. Você precisa ponderar se confia nesta plataforma social que está se tornando cada vez mais ridícula agora.

Para usar este componente, você deve adicionar o link do Twitter ao intervalo de permissão da política de segurança do site nas configurações do site e adicionar twitter.com e x.com aos domínios de onebox bloqueados.

https://platform.twitter.com/

37 curtidas

Você precisa reconstruir depois de fazer isso? Instalei e adicionei ao content security, mas ainda não há incorporações, apenas o link.

1 curtida

Claro que não. Por favor, envie-me um link para o seu site e eu darei uma olhada no porquê, este componente funciona bem no meu fórum.

5 curtidas

Obrigado, eu descobri. Depois de remover a chave e o segredo do consumidor do Twitter das configurações, agora funciona como pretendido, acho que estava padrão para tentar incorporar usando a API porque eu não tinha removido esses. Obrigado novamente por fazer isso, seria ótimo se algo assim fosse possível para o Instagram também

6 curtidas

Bom trabalho. Obrigado por este componente de tema. Ótimo trabalho em tempo útil. :slightly_smiling_face:

3 curtidas

Uau, obrigado por isso!

Está funcionando como anunciado para mim, mas talvez não esteja claro que na visualização você vê apenas o URL do tweet como um hiperlink, a incorporação acontece quando a resposta ou postagem é enviada.

2 curtidas

O nosso está acontecendo na ordem inversa… a pré-visualização mostra a incorporação e depois não a mostra quando postado.

1 curtida

Bom trabalho e boa ideia.

Trabalhei em um pequeno fork para usar o modo escuro data-theme para incorporar. Funciona bem, mas não sou um programador especialista.

Se você conseguir adicionar uma opção para usar o tema padrão ou o tema escuro, acho que será ainda melhor!

9 curtidas

Fizemos todas as modificações recomendadas acima. Nosso problema agora é apenas ao tentar postar usando um dispositivo móvel… incorporar um Tweet usando um laptop/desktop funciona bem agora.

2 curtidas

Algumas pessoas querem embeds e não precisam de funcionalidade de “login”, e por isso este componente será muito popular e sim, vejo solicitações para outras plataformas também.

Pessoalmente, gosto mais do estilo de embed do Twitter com aparência natural do que do Onebox, se os embeds das plataformas mais populares mantiverem a aparência nativa, isso os diferencia bem no fluxo de um tópico. Trabalho verdadeiramente ótimo e não posso deixar de pensar por que não tivemos isso antes para evitar todas as complexidades da configuração da conta de desenvolvedor, mas aí está, as necessidades obrigam e os valentes e corajosos enfrentam o desafio.

Muito, muito obrigado!

1 curtida

Em outro ponto sobre a fragilidade de embeds como conteúdo, após observar o tópico da implosão do Twitter, me fez pensar novamente em uma ideia antiga que tive.

Se os embeds pudessem gerar um bitmap de backup da pré-visualização do embed como parte da função de embed, isso protegeria contra resultados como o do Photobucket e similares.

Não tenho ideia de como isso poderia ser codificado, mas imagino que funcionaria em princípio de forma semelhante à função que captura a imagem de um link de imagem postado e é armazenada no banco de dados nativo, enquanto presumo que isso é mais fácil, pois é um arquivo já existente em algum servidor, funcionaria, suponho, da mesma forma que uma função de captura de tela personalizada sob demanda, que ocorre quando um embed é inserido em uma postagem do Discourse.

Sites que arquivam um nível de seu conteúdo são úteis, pois com o envelhecimento da rede, as coisas desaparecem de tempos em tempos.

Vou sugerir outro recurso nessa linha também aqui

1 curtida

Obrigado.

1 curtida

Isso é importante e recém-descoberto, juntando as peças - se você não tinha CSP ativado antes e usa, digamos, o Google Adsense, você vai destruir seus anúncios ao ativar o CSP se usar criptografia (DM’s) para fazer o componente do Twitter funcionar, pois há um conflito potencial!

Gostaria de ser provado errado com uma super solução ou “você fez isso errado”

2 curtidas

Presumindo que o oneboxing via API agora exija uma assinatura paga do Twitter, este método poderia/deveria ser adicionado ao núcleo do Discourse? Grandes comunidades empresariais podem pagar as taxas de Elon, mas está fora do alcance de organizações sem fins lucrativos e comunidades pequenas.

Esta ideia tem o apoio de @team?

A erosão do Twitter é um caso desafiador de lidar. Ainda é a fonte nº 1 para a maioria das notícias e eventos, usada por veículos de comunicação, corporações e pessoas de interesse. Apesar da pressão de Elon, não há um concorrente ou alternativa credível para a plataforma.

2 curtidas

Infelizmente, este componente não está funcionando na minha instância do Discourse. Removemos as chaves de login do Twitter, mas ainda nada. Também ativamos o CSP.

2 curtidas

Olá ljpp,

A perda de rich embeds certamente não é desejada, e estamos discutindo para ver o que pode ser feito adequadamente a respeito. :slight_smile:

Quando você cola um link do Twitter no composer, o que a aba de rede das ferramentas de desenvolvedor do seu navegador retorna?
Existem erros no console javascript?

3 curtidas

Estamos pensando nisso, mas há dois problemas muito grandes que precisam ser enfrentados aqui:

  1. IFRAME significa que estamos permitindo que o Twitter rastreie os usuários. Existem preocupações com a privacidade.
  2. IFRAME significa que precisamos lutar a guerra da altura “desconhecida”. Se não tivermos altura e só a obtivermos depois de conversar com o Twitter, a página fica pulando, o que pode impactar muito a experiência do Discourse. Descobrir a altura antecipadamente é super difícil.
6 curtidas

Com certeza. Essa solução alternativa de componente de tema carrega JavaScript dos servidores do Twitter e, considerando como o Twitter está indo em geral, isso representa um risco massivo à privacidade. Portanto, reluto em aplicar este componente de tema, pelo menos por enquanto.

Caso complicado, de fato.

5 curtidas

Não tenho muita certeza do que olhar, mas aqui estão os resultados após colar o link no editor:


e na pré-visualização estou recebendo esta mensagem:


Este é o tweet:

2 curtidas

Atualização:

Agora os embeds estão funcionando, mas a visualização do composer ainda exibe a mensagem “Desculpe, não foi possível gerar…”. Quando postado, tudo parece bom.

2 curtidas