Incamento Nativo do Twitter

a propósito, eu não sei o quão ocupado seu fórum está ou com que frequência os oneboxes do x/twitter são postados, mas o plano gratuito básico do twitter funciona para oneboxes padrão - ele apenas limita a taxa para cerca de 1 solicitação de onebox a cada 15 minutos. eu o tenho rodando em um fórum relativamente movimentado e ele só parece limitar quando as pessoas tentam postar mais de um link de onebox em uma postagem.

3 curtidas

Infelizmente, acabei de descobrir que isso impede a incorporação de muitos vídeos do YouTube (ou seja, https://youtu.be/) porque os links redirecionam para o YouTube.

As pessoas postam muito mais links do YouTube do que posts do X. Então, eu desativei por enquanto e simplesmente editarei x.com → twitter.com por enquanto.

2 curtidas

Raramente temos menções a postagens do x/twitter. E os oneboxes do Twitter.com funcionam, mas os do X.com não.

tem certeza? não me refiro a este componente, mas sim ao onebox nativo usando um token de api de plano gratuito do desenvolvedor do twitter e com este componente desativado. você diz que está sendo hospedado - eles deveriam ser capazes de configurar o oneboxing padrão como existe aqui na Meta.

eu tenho a incorporação rica do x/twitter gratuitamente em 2 sites auto-hospedados diferentes. eu uso este componente quando a api do x/twitter quebra por qualquer motivo e simplesmente a ativo e desativo conforme a necessidade.

5 curtidas

Eu configurei uma conta de desenvolvedor gratuita para o X. Estou me perguntando como você obtém uma caixa única do Twitter para incorporação?

Eu tenho o componente de Incorporação Nativa do Twitter funcionando bem, mas estou querendo postar no modo escuro.

Parece que em algumas versões recentes do Discourse, desabilitar o onebox do Twitter/X não funciona bem.
Além disso, este componente de tema não funciona corretamente em oneboxes já existentes.

Adicionei uma funcionalidade que, além de substituir os links brutos por um embed nativo, também procura por oneboxes do Twitter e faz o mesmo.

Isso significa que não há mais necessidade de desabilitar o oneboxing ou reconstruir posts antigos.

PR aqui Feature: support existing oneboxes by communiteq · Pull Request #1 · Lhcfl/discourse-twitter-native-embed · GitHub

3 curtidas

Obrigado! Desculpe a espera de um mês. Eu estava hospitalizado na cama e só agora recebi alta e vi esse PR. Mesclado!

5 curtidas

Olá a todos… alguém está tendo problemas com esse plug-in? Parece que algo quebrou e ele não está mais exibindo embeds, nem com x.com nem com twitter.com. Houve uma nova versão do Discourse que causou isso?

1 curtida

Confirmando que isso continua quebrado até hoje (26 de setembro de 2026).

Na minha instância, o componente agora lança ativamente um erro, em vez de apenas falhar silenciosamente — o Discourse exibe o banner exclusivo para administradores:

:warning: As publicações podem não estar sendo renderizadas corretamente porque um dos decoradores de publicação no seu site lançou um erro. Causado por “Twitter/X Einbindung” [Incorporação do Twitter/X].

Isso continua acontecendo repetidamente e está disparando avisos semelhantes ao Safe Mode em todo o site, não apenas a falta de uma incorporação. Versão do Discourse: 2026.10.0.

Alguém encontrou uma correção ou solução alternativa além de desativar o componente por completo?

Vou migrar para incorporações do Nitter após resolver alguns problemas de ipv6 no meu provedor e me desvincular completamente do Twitter.

1 curtida

Desde que Musk restringiu drasticamente o acesso à API devido ao spam contínuo de bots, todas as formas de acesso externo à plataforma têm sido prejudicadas.

Posso entender as decisões de negócio e de segurança, mas não a falta de opções oficiais para incorporação externa.

Conheço o Nitter, mas ele não é tão conveniente quanto a cópia e colagem dos links originais do X.

Poderia fazer sentido que a própria equipe do projeto Discourse se aproximasse da X Corp e oferecesse um plugin oficial.

Caso contrário, sinceramente, não vejo futuro para a interoperabilidade aqui. E o X é, sem dúvida, a plataforma de notícias mais importante do mundo ocidental.

Lembre-se de que o Nitter recebeu uma notificação extrajudicial no mês passado e pode não durar muito mais tempo: X sends cease-and-desist to open source project Nitter over alleged scraping | TechCrunch

2 curtidas

Parece legítimo. Eles apagaram toneladas de dados sem nenhuma explicação ou possibilidade de recuperação; os interesses por trás disso são realmente sombrios.

O projeto da comunidade que eu linké está mais vivo do que nunca. Codeberg, impulsionado pela comunidade.

Até que a X mude algo e o Zed não esteja mais lá para fazer o trabalho árduo de raspagem de dados.

Bom, a resistência resiste até que seja possível resistir. O Autistic (Inventati) trabalhou pela humanidade por décadas até que não fosse mais possível continuar.

Acho que o Nitter seria mantido por pelo menos um ano sem novos problemas. Eles só fazem push para serviços massivos, e o auto-hospedamento não tem esse impacto.

1 curtida

Criei um pequeno fork deste componente que corrige a falha no modo seguro (nulo sem proteção devido a um atributo ausente), além de alguns problemas menores: GitHub - terraboss/discourse-x-native-embed: X embedding · GitHub — está funcionando bem até agora, e ficarei grato por qualquer feedback.

1 curtida

este componente não está quebrado e funciona como esperado no meu site.

3 curtidas

Atualização: primeira marco do meu fork

Obrigado pelos comentários. Meu fork tem mantido o banner do modo seguro afastado até agora. Minha melhor suposição sobre a causa continua sendo um atributo data-onebox-src ausente, mas isso não está confirmado, então por favor, trate isso como experimental.

Desde então, adicionei algumas coisas, algumas delas solicitadas anteriormente neste tópico:

  • o link simples acima de um tweet desaparece assim que o tweet é carregado (ele permanece se o X não puder ser acessado)
  • menos saltos durante o carregamento dos tweets e sem incorporações duplicadas
  • modo escuro para incorporações
  • links nus do X que o Discourse não transformou em onebox também são incorporados
  • citar uma publicação com um link do X não substitui mais sua citação pelo tweet

Todo o crédito pela ideia original vai para @Lhc_fl. O fork foi construído com alguma ajuda de IA do Claude. Ficarei feliz em saber como funciona para os outros.

A posição de rolagem salta ao rolar para cima em tópicos longos

Ao rolar para cima em um tópico longo, a página salta repetidamente para baixo um pouco quando publicações mais antigas, fora da tela, são reconstruídas (presumivelmente relacionado ao ocultamento de publicações). É perturbador o suficiente para que ler um tópico longo de baixo para cima seja difícil.

Primeiro, suspeitei de um componente do tema (incorporações nativas do X/Twitter redimensionando após a recarga), mas o salto parece ocorrer independentemente disso também. Rolar para baixo não mostra o mesmo problema, apenas para cima.

Versão do Discourse: A mais recente e melhor. Alguém mais se deparou com isso, ou é um problema conhecido?

Talvez uma alternativa seja adicionar uma palavra de substituição global, substituindo https://x.com por https://fixupx.com?

3 curtidas

Obrigado pela sugestão! Tenho medo, no entanto, que uma substituição como essa não se encaixe neste projeto. O objetivo principal deste componente é incorporar tweets diretamente do X/Twitter. Um proxy de terceiros, como o fixupx, não resolve os problemas subjacentes; ele apenas adiciona outra camada intermediária: mais um serviço que pode falhar ou mudar e mais uma parte que visualiza as requisições. Além disso, ele reescreveria os links armazenados nos próprios posts.

O que eu realmente preferiria seria uma cópia local dos tweets. Isso ajudaria com os tempos de carregamento e a cache, tornaria as incorporações resilientes a falhas e manteria um arquivo do conteúdo. Mas isso exigiria acesso pago à API e um esclarecimento sobre a questão de direitos autorais e responsabilidade pelo conteúdo, e não posso oferecer nenhum dos dois. Portanto, por enquanto, o componente se mantém com as incorporações diretas.

Se alguém precisa apenas de pré-visualizações de links simples e está de acordo com um proxy, uma substituição de palavras monitoradas pode funcionar para isso, mas esse é um objetivo diferente do deste componente.