Você segue uma hashtag no celular, mas ela não aparece como seguida no computador. A sincronização de hashtags seguidas no Mastodon entre dispositivos pode atrasar vários minutos ou até horas. Esse atraso ocorre porque o Mastodon usa um modelo de federação baseado em pull, em vez de notificações push instantâneas para alterações de metadados. Este artigo explica a causa técnica do atraso de sincronização e mostra como forçar uma atualização em qualquer dispositivo.
Principais Conclusões: Atraso na Sincronização de Hashtags Seguidas no Mastodon
- Federação baseada em pull: As instâncias do Mastodon verificam novos metadados de seguidores de servidores upstream em intervalos, não instantaneamente.
- Atualização manual com F5 ou puxar para atualizar: Força o cliente a re-solicitar a lista de hashtags seguidas do servidor da instância.
- TTL do cache do servidor: A instância armazena em cache suas hashtags seguidas por até 5 minutos antes de verificar atualizações.
Por Que a Sincronização de Hashtags Seguidas no Mastodon Atrasa Entre Dispositivos
O Mastodon é construído em uma arquitetura federada onde cada instância opera de forma independente. Quando você segue uma hashtag em um dispositivo, a ação é enviada ao servidor da sua instância principal. O servidor registra o seguimento e atualiza os metadados da sua conta. No entanto, essa alteração de metadados não é transmitida para todos os clientes conectados em tempo real.
O atraso de sincronização tem duas causas principais:
Distribuição de Metadados Baseada em Pull
Os clientes do Mastodon, como o aplicativo web oficial, Tusky e Mastodon para iOS, não recebem notificações push para atualizações de metadados. Em vez disso, cada cliente faz polling periódico da API da instância para buscar a lista atual de hashtags seguidas. O intervalo de polling varia conforme o cliente. O aplicativo web oficial faz polling a cada 60 segundos. Aplicativos de terceiros podem fazer polling a cada 30 segundos ou a cada 5 minutos. Se você seguir uma hashtag no celular, o cliente do desktop não a verá até que seu próximo ciclo de polling seja concluído.
Cache do Lado do Servidor
O servidor do Mastodon armazena em cache a lista de hashtags seguidas por questões de desempenho. Quando um cliente envia uma solicitação pela lista de hashtags, o servidor retorna os dados em cache. O tempo de vida do cache (TTL) é tipicamente de 300 segundos (5 minutos) em configurações padrão. Isso significa que, mesmo que o cliente faça polling imediatamente após você seguir uma hashtag em outro dispositivo, o servidor pode retornar dados desatualizados. O cache é invalidado apenas após o TTL expirar ou o servidor receber uma solicitação de escrita da mesma sessão.
Ausência de Consciência de Sessão Entre Dispositivos
O Mastodon não mantém um estado de sessão compartilhado entre dispositivos. Cada cliente usa seu próprio token OAuth e sessão. Quando você segue uma hashtag no dispositivo A, o servidor atualiza a entrada no banco de dados da sua conta. O dispositivo B, usando uma sessão diferente, não tem como saber que o banco de dados mudou até que envie uma nova solicitação à API. Não há um canal WebSocket ou Server-Sent Events para alterações de metadados.
Como Forçar a Sincronização de Hashtags Seguidas Entre Dispositivos
Você pode reduzir ou eliminar o atraso de sincronização atualizando manualmente o cliente ou usando uma solução alternativa que aciona a invalidação do cache do servidor.
Método 1: Atualização Manual no Aplicativo Web
- Pressione F5 ou Ctrl+R
Isso força o navegador a recarregar a página inteira. O aplicativo web buscará novamente a lista de hashtags seguidas da API da instância, ignorando o cache do navegador. - Verifique a lista de hashtags
Abra a lista de hashtags clicando no ícone de hashtag na barra lateral esquerda ou navegando até Preferências > Hashtags. O novo seguimento deve aparecer imediatamente após a atualização. - Repita se necessário
Se a hashtag ainda não aparecer, aguarde 30 segundos e pressione F5 novamente. O cache do servidor ainda pode estar válido de uma solicitação anterior.
Método 2: Puxar para Atualizar em Aplicativos Móveis
- Abra a lista de hashtags
No Tusky, toque no ícone de hashtag na barra de navegação inferior. No Mastodon para iOS, toque no ícone de pesquisa e depois na aba Hashtags. - Deslize para baixo a partir do topo da lista
Faça o gesto de puxar para atualizar. Isso envia uma nova solicitação à API da instância e atualiza a lista de hashtags seguidas. - Aguarde o spinner desaparecer
A lista será recarregada. Se o seguimento ainda não aparecer, feche o aplicativo completamente e reabra-o. Isso força um novo login completo e uma nova busca dos metadados da conta.
Método 3: Deixar de Seguir e Seguir Novamente a Hashtag
- No dispositivo onde o seguimento está ausente
Navegue até a página da hashtag. Por exemplo, se você seguiu #tech, vá para https://suainstancia.social/tags/tech. - Clique no botão Seguindo
Isso deixa de seguir a hashtag. O servidor remove imediatamente o seguimento do banco de dados e invalida o cache para essa hashtag. - Clique no botão Seguir novamente
Isso adiciona o seguimento de volta. O servidor escreve o novo seguimento no banco de dados e atualiza o cache. Todos os clientes verão o seguimento no próximo ciclo de polling.
Se a Sincronização de Hashtags Seguidas no Mastodon Ainda Atrasar Após Atualização Manual
A sincronização do seguimento de hashtag leva mais de 10 minutos
Isso indica um problema de cache no lado do servidor além do TTL padrão de 5 minutos. Alguns administradores de instância aumentam o TTL do cache para reduzir a carga do servidor. Você não pode alterar essa configuração pelo lado do cliente. Entre em contato com o administrador da sua instância e peça para reduzir o valor de FOLLOWED_TAGS_CACHE_TTL no arquivo de configuração do Mastodon de 300 para um valor menor, como 60 segundos.
A sincronização do seguimento de hashtag funciona em um dispositivo, mas não em outro
Isso geralmente acontece quando um cliente está usando um token OAuth desatualizado ou está logado em uma conta diferente. Verifique se ambos os dispositivos estão logados na mesma conta do Mastodon. Confira o nome de usuário exibido nas configurações do aplicativo. Se as contas coincidirem, saia da conta no dispositivo problemático e faça login novamente. Isso gera um novo token OAuth e força uma sincronização completa dos metadados.
A sincronização do seguimento de hashtag funciona no aplicativo web, mas não em um aplicativo de terceiros
Aplicativos de terceiros podem implementar sua própria camada de cache. Por exemplo, o Tusky armazena a lista de hashtags localmente por até 2 minutos. Limpe o cache do aplicativo nas configurações do sistema. No Android, vá em Configurações > Aplicativos > Tusky > Armazenamento > Limpar cache. No iOS, desinstale e reinstale o aplicativo. Após limpar o cache, o aplicativo buscará dados atualizados da instância.
Sincronização de Hashtags Seguidas no Mastodon: Aplicativo Web vs Aplicativos de Terceiros
| Item | Aplicativo Web Oficial | Aplicativos de Terceiros (Tusky, Mastodon para iOS) |
|---|---|---|
| Intervalo de polling padrão | 60 segundos | 30 segundos a 5 minutos, dependendo do aplicativo |
| Cache local | Cache do navegador, limpo com F5 | Cache no nível do aplicativo, limpo ao redefinir dados do aplicativo |
| Como contornar o cache do servidor | Não é possível pelo lado do cliente | Não é possível pelo lado do cliente |
| Método de atualização manual | F5 ou Ctrl+R | Puxar para atualizar ou reiniciar o aplicativo |
| Consciência de sessão | Sessão única do navegador | Tokens OAuth independentes por dispositivo |
A sincronização de hashtags seguidas no Mastodon entre dispositivos atrasa devido à distribuição de metadados baseada em pull e ao cache do servidor. Você pode forçar uma atualização pressionando F5 no aplicativo web ou puxando para atualizar no celular. Se o atraso persistir por mais de 10 minutos, entre em contato com o administrador da sua instância para ajustar o TTL do cache. Para uma sincronização consistente entre dispositivos, saia e faça login novamente no dispositivo afetado para gerar uma nova sessão.