Ao usar o cliente web do Mastodon, a mensagem de erro “Streaming API Disconnected” pode aparecer no console do navegador ou como uma notificação visível. Esse erro significa que a conexão em tempo real entre seu navegador e o servidor Mastodon foi perdida. A API de streaming é responsável por entregar novas postagens, notificações e atualizações da timeline sem exigir uma atualização de página. Uma desconexão faz com que a timeline pare de ser atualizada em tempo real até que a conexão seja restabelecida. Este artigo explica a causa raiz da desconexão e fornece correções passo a passo para restaurar a conexão da API de streaming.
Principais Conclusões: Restaure as Atualizações da Timeline em Tempo Real
- Console do desenvolvedor do navegador (F12) > guia Network: Identifique se as conexões WebSocket estão falhando ou sendo fechadas pelo servidor.
- Página de status da instância Mastodon: Verifique se o servidor de streaming está online e aceitando conexões.
- Configurações de extensões do navegador: Desative bloqueadores de anúncios ou extensões de VPN que possam bloquear o tráfego WebSocket para o domínio da instância.
Por que a API de Streaming Desconecta no Cliente Web do Mastodon
O cliente web do Mastodon se comunica com o servidor usando dois canais principais: requisições HTTP para ações como postar e carregar páginas, e conexões WebSocket para a API de streaming. A API de streaming usa WebSockets para enviar novos dados ao navegador em tempo real. Quando a conexão WebSocket é interrompida, o cliente exibe “Streaming API Disconnected.” Isso pode acontecer por vários motivos.
Timeouts do Servidor e Limites de Recursos
A maioria das instâncias Mastodon define um tempo limite para conexões WebSocket ociosas. Se nenhum dado for enviado por um período, geralmente de 30 a 60 segundos, o servidor fecha a conexão para liberar recursos. Algumas instâncias também limitam o número de conexões WebSocket simultâneas por usuário. Se você tiver várias abas abertas, cada uma cria um WebSocket separado, o que pode exceder o limite.
Interrupções de Rede e Interferência de Proxy
Conexões WebSocket exigem uma conexão TCP persistente. Qualquer interrupção de rede, como queda de Wi-Fi, reconexão de VPN ou timeout de servidor proxy, quebrará o WebSocket. Extensões de navegador que bloqueiam ou modificam o tráfego, particularmente bloqueadores de anúncios, extensões de VPN e bloqueadores de scripts, podem interferir no handshake WebSocket ou nos pacotes keep-alive.
Problemas Específicos do Navegador
Alguns navegadores, especialmente versões antigas, têm bugs na implementação WebSocket. Modos agressivos de economia de energia em laptops também podem suspender a execução do JavaScript, fazendo com que o WebSocket expire. O cliente web do Mastodon depende do JavaScript para manter a conexão WebSocket; se o navegador suspender a aba, a conexão cai.
Passos para Corrigir o Erro Streaming API Disconnected
Siga estes passos em ordem. Teste após cada passo para ver se o erro é resolvido.
- Atualize a aba do Mastodon
Pressione Ctrl+R ou F5 no Windows, ou Cmd+R no Mac. Isso força o navegador a restabelecer a conexão WebSocket. Se o erro foi temporário, isso pode resolvê-lo imediatamente. - Feche outras abas do Mastodon
Cada aba aberta do Mastodon cria uma conexão WebSocket separada. Feche todas as abas, exceto uma. Aguarde 10 segundos e verifique se o erro desaparece. - Desative extensões do navegador temporariamente
Abra o gerenciador de extensões do navegador. Desative todas as extensões, especialmente bloqueadores de anúncios, ferramentas de privacidade e extensões de VPN. Reinicie o navegador e abra o Mastodon novamente. Se o erro parar, reative as extensões uma a uma para encontrar a culpada. - Verifique o status da instância Mastodon
Visite a página de status da sua instância. Muitas instâncias têm um subdomínio de status como status.mastodon.social. Procure pelo status do servidor de streaming. Se estiver offline ou degradado, aguarde até que o administrador resolva o problema. - Limpe o cache e os cookies do navegador para o domínio da instância
Vá para Configurações do navegador > Privacidade e segurança > Limpar dados de navegação. Selecione “Cookies e outros dados do site” e “Imagens e arquivos em cache.” Defina o intervalo de tempo como “Últimas 24 horas.” Limpe os dados e recarregue o Mastodon. - Use um navegador diferente
Teste o Mastodon em um navegador que você não usa normalmente, como Firefox se você usa Chrome, ou Edge se você usa Firefox. Se o erro não aparecer, o navegador original pode ter um bug WebSocket ou conflito de extensão. - Desative VPN ou proxy temporariamente
Desligue qualquer serviço de VPN ou proxy do sistema. Conexões WebSocket frequentemente falham através de VPNs devido a restrições de porta ou modelagem de tráfego. Após desativar, atualize a aba do Mastodon. - Ajuste as configurações de economia de energia do navegador
No Windows 11 ou Windows 10, vá para Configurações > Sistema > Energia e bateria. Defina o modo de energia como “Melhor desempenho.” No navegador, desative qualquer opção que suspenda abas em segundo plano. Para Chrome, vá para chrome://settings/performance e desative “Economia de memória” e “Economia de energia.” - Use o aplicativo móvel do Mastodon ou um cliente de terceiros
Se o cliente web continuar desconectando, tente o aplicativo móvel oficial do Mastodon ou um cliente desktop como Tusky ou Elk. Esses clientes lidam com a reconexão WebSocket de forma mais robusta.
Se a API de Streaming Ainda Desconectar Após a Correção Principal
Erro persiste em vários dispositivos na mesma rede
Se o erro ocorrer em diferentes dispositivos conectados ao mesmo Wi-Fi ou LAN, o problema provavelmente é de rede. Verifique se o roteador está bloqueando o tráfego WebSocket. Algumas redes corporativas ou escolares bloqueiam as portas WebSocket 80 e 443. Entre em contato com o administrador da rede. Alternativamente, use um hotspot móvel para testar.
Erro ocorre apenas em uma instância específica
Se você consegue se conectar a outras instâncias Mastodon sem problemas, o problema é específico da instância que você está usando. A instância pode estar sobrecarregada ou ter configurações WebSocket incorretas. Relate o problema ao administrador da instância. Inclua a mensagem de erro exata e o horário em que ocorreu.
Conexão WebSocket mostra 101 Switching Protocols mas depois fecha
Abra o console do desenvolvedor do navegador com F12. Vá para a guia Network e filtre por “WS” ou “WebSocket.” Recarregue a página. Procure pela conexão WebSocket para o domínio da sua instância. Se o status mostrar 101 mas a conexão fechar após alguns segundos, o servidor está ativamente terminando a conexão. Isso pode ser devido a limite de taxa ou expiração do token de autenticação. Saia do Mastodon, limpe os cookies e faça login novamente.
Reconexão Manual vs Reconexão Automática do WebSocket
| Item | Reconexão Manual | Reconexão Automática |
|---|---|---|
| Gatilho | Usuário atualiza a página ou fecha e reabre a aba | Navegador ou cliente tenta reconectar após um atraso |
| Tempo para restaurar | Imediato após a atualização | Geralmente de 5 a 30 segundos, dependendo da lógica do cliente |
| Confiabilidade | Alta, mas requer ação do usuário | Varia conforme a implementação do cliente; pode falhar se o problema subjacente persistir |
| Sobrecarga de rede | Recarregamento completo da página, maior uso de dados | Apenas handshake WebSocket, menor uso de dados |
| Melhor para | Desconexões ocasionais | Desconexões frequentes devido a instabilidade de rede |
O cliente web do Mastodon tenta a reconexão automática após uma desconexão, mas isso pode falhar se a causa raiz não for resolvida. Se você vir o erro repetidamente, não confie apenas na reconexão automática. Aplique as correções acima para eliminar a causa.
Após seguir estes passos, a conexão da API de streaming deve permanecer estável. Atualize a aba do Mastodon e verifique se novas postagens aparecem na timeline inicial sem recarregamento manual. Se o erro continuar em um navegador, mas não em outro, considere mudar para o navegador que funciona. Para problemas persistentes em todos os navegadores, verifique a página de status da instância e relate o problema ao administrador.