Ao navegar pela timeline federada do Mastodon, emojis personalizados de outras instâncias frequentemente aparecem como placeholders de imagem quebrados ou texto simples como :blobcat:. Isso acontece porque o Mastodon não baixa automaticamente os arquivos de emoji de servidores remotos. A mensagem de erro “Custom Emoji Failed to Load” indica que sua instância local não consegue recuperar ou exibir o arquivo de imagem do emoji do servidor de origem. Este artigo explica por que isso ocorre e fornece passos claros para corrigir o problema no seu próprio servidor Mastodon.
Principais conclusões: Corrigindo o carregamento de emojis personalizados em postagens federadas
- Administração > Configurações do Servidor > Retenção de Conteúdo: Ajuste o período de retenção do cache de mídia para manter os arquivos de emoji por mais tempo e reduzir imagens quebradas.
- Terminal SSH e console Rails: Execute comandos manuais para limpar entradas de cache de emoji obsoletas ou corrompidas na sua instância Mastodon.
- Monitoramento da fila Sidekiq: Verifique se há jobs em segundo plano travados que impedem a conclusão dos downloads de emoji.
Por que os emojis personalizados não carregam em postagens federadas
O Mastodon armazena emojis personalizados como pequenos arquivos de imagem em cada instância. Quando um usuário de uma instância remota publica um emoji personalizado, seu servidor local deve baixar esse arquivo de emoji do servidor de origem e armazená-lo em cache localmente. Esse processo é executado como um job em segundo plano no Sidekiq. Se o download falhar, o emoji aparece como uma imagem quebrada ou como texto de shortcode simples.
Motivos comuns para a falha incluem:
Expiração do cache de mídia
O período padrão de retenção do cache de mídia do Mastodon é de 7 dias. Após esse período, os arquivos de emoji em cache são excluídos. Quando uma postagem federada referencia um emoji que estava em cache há mais de 7 dias, o servidor precisa baixá-lo novamente. Se o servidor de origem estiver offline ou lento, o download falha.
Jobs em segundo plano travados
As filas do Sidekiq gerenciam os downloads de emoji. Se uma fila ficar travada devido a pressão de memória ou um job corrompido, novos downloads de emoji nunca são concluídos. O emoji permanece em estado pendente e nunca aparece na postagem.
Bloqueio de domínio ou timeout do servidor
Se sua instância bloquear o domínio remoto (mesmo que parcialmente), ou se o servidor remoto estiver inacessível devido a problemas de rede, o arquivo de emoji não pode ser obtido. Isso acontece frequentemente com instâncias pequenas ou mal mantidas.
Passos para corrigir o carregamento de emojis personalizados em postagens federadas
Siga estes passos em ordem. Execute os dois primeiros passos pela interface de administração do Mastodon. Os passos 3 e 4 exigem acesso SSH ao seu servidor.
Passo 1: Aumentar o período de retenção do cache de mídia
- Abra Administração > Configurações do Servidor
Faça login como administrador. Clique em Preferências no canto superior direito e selecione Administração no menu à esquerda. Clique em Configurações do Servidor. - Vá para Retenção de Conteúdo
Na página de Configurações do Servidor, clique na aba Retenção de Conteúdo. Esta aba controla por quanto tempo os arquivos de mídia são mantidos. - Defina a retenção do cache de mídia para 30 dias ou mais
Encontre o campo Período de retenção do cache de mídia. Altere o valor de 7 para 30. Para instâncias movimentadas, defina para 60. Clique em Salvar alterações.
Passo 2: Limpar o cache de mídia manualmente
- Abra Administração > Configurações do Servidor > Retenção de Conteúdo
Siga o mesmo caminho do Passo 1. - Clique em Limpar cache de mídia
Role para baixo até a seção Limpar cache de mídia. Clique no botão Limpar cache de mídia agora. Isso exclui todos os arquivos de mídia em cache, incluindo emojis. O Mastodon os baixará novamente na próxima solicitação.
Passo 3: Reiniciar as filas do Sidekiq via SSH
- Conecte-se via SSH ao seu servidor Mastodon
Abra um terminal. Executessh seuusuario@seuserver.com. Digite sua senha ou use sua chave SSH. - Mude para o usuário mastodon
Executesu - mastodon. Isso garante que você execute comandos com as permissões corretas. - Reinicie o Sidekiq
Executesystemctl --user restart sidekiq. Isso para e inicia todos os processos do Sidekiq. Aguarde 10 segundos e verifique o status da fila comsystemctl --user status sidekiq. Procure poractive (running).
Passo 4: Disparar manualmente o redownload de emojis via Rails Console
- Abra o Rails console
Enquanto estiver conectado via SSH como usuário mastodon, executeRAILS_ENV=production bin/rails c. Isso abre um ambiente Ruby interativo para o aplicativo Mastodon. - Encontre e remova entradas de cache de emoji obsoletas
No prompt do Rails, digite:CustomEmoji.where.not(domain: nil).where(image_file_name: nil).destroy_all. Pressione Enter. Isso exclui todos os registros de emoji em cache que não possuem arquivo de imagem anexado. Digiteexitpara sair do console. - Reinicie o Sidekiq novamente
Executesystemctl --user restart sidekiqpara forçar o Mastodon a baixar novamente os emojis removidos.
Se o Mastodon ainda tiver problemas após a correção principal
Emoji personalizado ainda aparece como imagem quebrada em postagens específicas
Se apenas algumas postagens federadas têm emoji quebrado, o servidor de origem pode estar permanentemente offline. Você não pode corrigir isso da sua instância. O emoji nunca carregará a menos que o administrador remoto restaure o servidor. Nesse caso, peça aos seus usuários para recarregar a postagem após 24 horas. Se o problema persistir, o emoji está perdido.
Emoji carrega, mas aparece como ponto de interrogação ou quadrado em branco
Isso indica que o arquivo de emoji foi baixado, mas o formato da imagem não é suportado. O Mastodon suporta PNG, GIF e WebP. Se a instância remota fornecer um arquivo JPEG ou BMP, o Mastodon não consegue exibi-lo. Você não pode corrigir isso da sua instância. Entre em contato com o administrador remoto e peça para converter o emoji para um formato suportado.
Emoji carrega no desktop, mas não no aplicativo móvel
Aplicativos móveis de terceiros do Mastodon às vezes lidam com emojis personalizados de forma diferente. O aplicativo oficial do Mastodon para iOS e Android suporta emojis personalizados. Se você usa um aplicativo de terceiros, atualize-o para a versão mais recente. Se o problema continuar, mude para o aplicativo oficial.
Carregamento de emoji personalizado no Mastodon: correção do administrador vs. solução alternativa do usuário
| Item | Correção do Administrador | Solução Alternativa do Usuário |
|---|---|---|
| Escopo | Afeta todos os usuários na instância | Afeta apenas o usuário individual |
| Esforço | Requer acesso SSH e comandos no servidor | Não precisa de acesso ao servidor |
| Permanência | Corrige a causa raiz permanentemente | Deve ser repetida após cada limpeza de cache |
| Exemplo | Aumentar retenção do cache de mídia para 60 dias | Limpar cache do navegador e recarregar a postagem |
| Limitação | Não corrige emojis de servidores permanentemente offline | Não corrige emoji quebrado para outros usuários |
Agora você pode resolver o erro “Custom Emoji Failed to Load” em postagens federadas aumentando o período de retenção do cache de mídia e limpando entradas de cache obsoletas. Após aplicar as correções, monitore seu painel do Sidekiq para jobs travados. Para manutenção contínua, defina um lembrete mensal para verificar a página Administração > Sidekiq para filas com alta latência. Essa ação proativa evita falhas de carregamento de emoji antes que afetem seus usuários.