Avatares dos usuários desapareceram

Estou preparando um novo fórum para lançamento. Discourse auto-hospedado (2.6.0.beta1) na DigitalOcean (a propósito, ainda estou impressionado por você oferecer essa joia de graça). Tudo funcionou perfeitamente e todos os usuários (inclusive eu) tinham avatares.

Depois, em um momento específico, sem nenhuma alteração na configuração do fórum, atualizei a página no navegador e os avatares desapareceram.

Atualmente, a lista de tópicos aparece assim:

Curiosamente, se eu abrir um tópico, a “barra de status” mostra os avatares:
existing_avatars

Edição: Acabei de tentar acessar o fórum novamente no modo anônimo. Todos os avatares sumiram, então acho que o fato de eu tê-los visto em algum lugar pode ter estado relacionado ao cache.

No entanto, se eu abrir o perfil do usuário, não há avatar lá:

Por sorte, já havia começado a fazer backup dos dados e ainda não há muitos testadores no fórum, então espero conseguir resolver isso apenas restaurando a partir de um backup. No entanto, sem identificar a causa raiz, posso acabar enfrentando o mesmo problema novamente.

Pelo que entendi, esses avatares vêm do Gravatar.

Sou novo no Discourse, então peço desculpas antecipadamente se houver informações insuficientes neste relatório. Fornecerei quaisquer informações adicionais conforme solicitado.

Obrigado

As imagens de perfil dos usuários são obtidas do Gravatar se eles tiverem uma conta no Gravatar. Não tenho certeza com que frequência essa busca ocorre, mas há uma maneira de forçar o download delas.

Se for necessário, atualize para todos executando:

./launcher enter app
rails r 'UserAvatar.find_each {|u| print "."; u.update_gravatar!}'

A execução pode levar algum tempo.

Referência: Automatic updates of Gravatar avatars? - #7 by sam

@IAmGav, obrigado pela sua recomendação.

Infelizmente, mesmo após realizar essa etapa e aguardar 30 minutos, os avatares ainda não foram exibidos.

Gastei várias horas com esse problema, mas não consegui encontrar uma solução. Restaurar a partir do backup também não ajudou :frowning:

Encontrei essa questão de 2018: How to fix user avatar?

Pelo que pude perceber, o problema lá era alguma incompatibilidade entre os componentes internos do Discourse. Será que posso estar enfrentando algo semelhante? Para ser sincero, esperaria que um problema no Discourse afetasse muitas mais instalações, mas o problema mencionado também envolveu apenas um relatante.

Agradeço qualquer ajuda :pray:

Algumas recomendações:

  1. Verifique a URL de uma das imagens problemáticas. O que acontece se você adicionar ?a ao final da URL? A imagem começa a funcionar?

  2. Você consegue corrigir um único usuário manualmente (alternar para letra, fazer upload de um avatar, alternar para o avatar, atualizar o avatar)?

Suas imagens estão armazenadas localmente ou no S3?

@sam

As imagens são locais. Adicionar ?a ao final da URL da imagem não ajudou.

Curiosamente, consigo ver minha própria imagem nas páginas de preferências (mas não é o caso para outros usuários). Em termos de URL, ocorre o seguinte:

  • A URL da minha imagem na página principal resolve para o placeholder padrão (mesmo com ?a): https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/45/2_2.png?a
  • A URL da minha imagem na página de preferências resolve para a imagem correta: https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/120/2_2.png

Tentei corrigir o problema para um único usuário. Alternar para letra, depois para imagem personalizada e depois de volta para o Gravatar não funcionou.

Há um problema adicional que estou enfrentando. Parece não estar relacionado, mas, como as chances de ocorrerem dois problemas independentes simultaneamente são muito baixas, suspeito que haja uma conexão entre eles.

O fórum não está mais enviando convites para os usuários (isso acontecia no passado).

Convidei vários usuários, mas nenhum deles recebeu o convite. Então, enviei um convite para mim mesmo (com um e-mail diferente) e também não recebi. Agora, tenho vários convites pendentes:

Imediatamente pensei que o problema estava na integração com o Mailgun ou até mesmo na entregabilidade, então enviei um e-mail de teste para mim mesmo, mas ele chegou imediatamente. Ao verificar a página de e-mails enviados, vejo o seguinte:

O fórum enviou e-mails de teste, mas não enviou os convites.

Neste ponto, acredito que minha instalação do Discourse está seriamente comprometida. Provavelmente, fiz algo sem perceber. Tenho lutado com isso por muitas horas agora, no pior momento possível (lançando minha nova comunidade). Portanto, vou apenas realizar uma instalação limpa do Discourse, sem restaurar a partir de um backup, e reenviar convites a todos os usuários. Felizmente, não há muitos usuários no momento e há pouco conteúdo no fórum.

Vou deixar o droplet com a instalação antiga por um tempo, caso você precise de mais informações. Se decidir que vale a pena investigar, não me importo em fornecer acesso via SSH.

Obrigado pela sua ajuda. Espero que a instalação limpa funcione.

Veja também este tópico: Avatars lost after restore. How to get them back? - #57 by Overgrow

Olá @Vasiliy

Antes de criar uma nova instância inteira para resolver esse problema, considere verificar o agendador de tarefas (sidekiq) para ver se está funcionando corretamente, se há tarefas falhas, se a fila de tarefas está sobrecarregada, etc.

sua.cooldiscoursesite.com/sidekiq

Só um pensamento…

Além disso, você também pode considerar verificar o log do Rails, especialmente o log de erros.

@neounix
Obrigado pelas suas sugestões.

Não consegui dedicar mais tempo a depurar esse problema agora, então já criei um novo fórum. Está funcionando bem até o momento.

Franco, sinto-me um pouco tolo por não ter ocorrido a mim verificar os logs. Não que eu esperasse entender o que eles dizem, mas deveria tê-los anexado ao relatório. Bom, melhor tarde do que nunca. Estou anexando todos os logs do diretório rails agora.

Fiz uma busca por grep neles e parece que realmente há algumas mensagens de erro. No entanto, não consigo entender o que significam e se estão mesmo relacionadas aos problemas. Provavelmente membros mais experientes conseguirão investigá-los melhor.