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.
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
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.
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.
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.
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.
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”
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.
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.
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.
A perda de rich embeds certamente não é desejada, e estamos discutindo para ver o que pode ser feito adequadamente a respeito.
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?
Estamos pensando nisso, mas há dois problemas muito grandes que precisam ser enfrentados aqui:
IFRAME significa que estamos permitindo que o Twitter rastreie os usuários. Existem preocupações com a privacidade.
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.
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.
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.