Los avatares de los usuarios desaparecieron

Estoy preparando un nuevo foro para su lanzamiento. Discourse autoalojado (2.6.0.beta1) en DigitalOcean (por cierto, sigo sorprendido de que ofrezcan esta joya de forma gratuita). Todo funcionó perfectamente y todos los usuarios (incluido yo) tenían avatares.

Luego, en un momento específico, sin realizar ninguna modificación en la configuración del foro, recargué la página en el navegador y los avatares desaparecieron.

Actualmente, la lista de temas se ve así:

Curiosamente, si abro un tema, la “barra de estado” sí muestra los avatares:
existing_avatars

Edición: Acabo de probar a ver el foro nuevamente en modo incógnito. Todos los avatares han desaparecido, así que supongo que el hecho de que los viera en algún momento podría estar relacionado con la caché.

Sin embargo, si abro el perfil de un usuario, allí tampoco hay avatar:

Por suerte, ya había comenzado a hacer copias de seguridad de los datos y aún no hay muchos usuarios de prueba en el foro, así que espero poder resolver esto simplemente restaurando desde una copia de seguridad. Sin embargo, si no identifico la causa raíz, podría volver a enfrentarme al mismo problema.

Por lo que entiendo, estos avatares provienen de Gravatar.

Soy nuevo en Discourse, así que disculpa de antemano si hay información insuficiente en este informe. Proporcionaré cualquier información adicional que soliciten.

Gracias

Las imágenes de perfil de los usuarios se obtienen de Gravatar si tienen una cuenta en Gravatar. No estoy seguro de cada cuánto ocurre esta actualización, pero hay una forma de forzar la descarga de las imágenes.

Si es necesario, puedes actualizarlas para todos ejecutando:

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

Esto tomará un tiempo en ejecutarse.

Referencia: Automatic updates of Gravatar avatars? - #7 by sam

@IAmGav, gracias por tu recomendación.

Desafortunadamente, incluso después de realizar este paso y esperar 30 minutos, aún no se muestran avatares.

He pasado varias horas con este problema, pero no he podido encontrar una solución. Tampoco me ha ayudado restaurar desde una copia de seguridad :frowning:

Encontré este problema de 2018: How to fix user avatar?

Por lo que he podido ver, el problema allí era alguna incompatibilidad entre los componentes internos de Discourse. ¿Podría estar experimentando algo similar? A decir verdad, esperaría que un problema en Discourse afectara a muchas más instalaciones, pero el problema mencionado involucró solo a un reportero.

Agradeceré cualquier ayuda :pray:

Algunas recomendaciones:

  1. Mira la URL de una de las imágenes problemáticas. ¿Qué sucede si agregas ?a al final de la URL? ¿La imagen comienza a funcionar?

  2. ¿Puedes corregir manualmente a un único usuario (cambiar a letra, subir un avatar, cambiar a avatar, actualizar el avatar)?

¿Tus imágenes están locales o en S3?

@sam

Las imágenes son locales. Agregar ?a al final de la URL de la imagen no ayudó.

Curiosamente, todavía puedo ver mi propia imagen en las páginas de preferencias (pero no es el caso para otros usuarios). En cuanto a las URL, ocurre lo siguiente:

  • La URL de mi imagen desde la página principal se resuelve al marcador de posición predeterminado (incluso con ?a): https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/45/2_2.png?a
  • La URL de mi imagen desde la página de preferencias se resuelve a la imagen correcta: https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/120/2_2.png

Intenté solucionar el problema para un solo usuario. Cambiar a una letra, luego a una imagen personalizada y luego volver a Gravatar no funcionó.

Hay un problema adicional que estoy experimentando. Parece no estar relacionado, pero dado que las probabilidades de que dos problemas independientes ocurran simultáneamente son muy bajas, sospecho que hay una conexión entre ellos.

El foro ya no envía invitaciones a los usuarios (antes sí lo hacía).

Invité a varios usuarios, pero ninguno recibió la invitación. Así que envié una invitación a mí mismo (con un correo electrónico diferente) y tampoco la recibí. Ahora tengo varias invitaciones pendientes:

Inmediatamente pensé que el problema estaba en la integración con Mailgun, o incluso en la entregabilidad, así que envié un correo de prueba a mí mismo, pero llegó de inmediato. Al revisar la página de correos enviados, veo lo siguiente:

El foro envió correos de prueba, pero no envió invitaciones.

En este punto, creo que mi instalación de Discourse está seriamente dañada. Probablemente algo que hice yo mismo sin darme cuenta. He estado luchando con esto durante muchas horas en el peor momento posible (lanzando mi nueva comunidad). Por lo tanto, simplemente realizaré una instalación limpia de Discourse, sin restaurar desde una copia de seguridad, y volveré a invitar a todos los usuarios. Afortunadamente, no hay muchos usuarios en este momento y no hay mucho contenido en el foro.

Dejaré el droplet con la instalación antigua por un tiempo, por si acaso necesitas más información. Si decides que vale la pena investigarlo, no me importa darte acceso a través de SSH.

Gracias por tu ayuda. Espero que la instalación limpia funcione.

Consulta también este tema: Avatars lost after restore. How to get them back? - #57 by Overgrow

Hola @Vasiliy

Antes de crear una instancia nueva completa para este problema; podrías considerar verificar el programador de tareas (sidekiq) para ver si está funcionando correctamente, si hay tareas fallidas, si la cola de tareas está congestionada, etc.

tu.sitio.decursosgenial.com/sidekiq

Solo una idea…

También, podrías considerar revisar el registro de Rails, especialmente el registro de errores.

@neounix
Gracias por tus sugerencias.

No pude dedicar más tiempo a depurar este problema en este momento, así que ya creé un nuevo foro. Hasta ahora funciona bien.

Sinceramente, me siento un poco tonto por no haberse me ocurrido revisar los registros. No es que espere entender lo que dicen, pero debería haberlos adjuntado al informe. Bueno, más vale tarde que nunca. Adjunto ahora todos los registros del directorio rails.

Los busqué un poco con grep y parece que efectivamente hay algunos mensajes de error. Sin embargo, no entiendo qué significan ni si están relacionados con los problemas. Probablemente miembros más expertos puedan investigarlos mejor.