Avatar degli utenti scomparsi

Sto preparando un nuovo forum per il lancio. Discourse in self-hosted (2.6.0.beta1) su DigitalOcean (a proposito, sono ancora sorpreso che offriate questa gemma gratuitamente). Tutto funzionava perfettamente e tutti gli utenti (incluso io) avevano gli avatar.
Poi, in un momento preciso, senza aver modificato la configurazione del forum, ho ricaricato la pagina nel browser e gli avatar sono spariti.

Attualmente, l’elenco degli argomenti appare così:

Interessante notare che, se apro un argomento, la “barra di stato” mostra gli avatar:
existing_avatars

Modifica: ho appena provato a visualizzare il forum di nuovo in modalità incognito. Tutti gli avatar sono scomparsi, quindi immagino che il fatto di averli visti da qualche parte potesse essere legato alla cache.

Tuttavia, se apro il profilo di un utente, l’avatar non c’è:

Per fortuna, avevo già iniziato a fare il backup dei dati e al momento ci sono pochi tester sul forum, quindi spero di risolvere il problema semplicemente ripristinando da un backup. Tuttavia, senza identificare la causa principale, potrei ritrovarmi con lo stesso problema di nuovo.

Per quanto ne so, questi avatar provengono da Gravatar.

Sono nuovo su Discourse, quindi mi scuso in anticipo se questo rapporto non contiene abbastanza informazioni. Fornirò qualsiasi informazione aggiuntiva su vostra richiesta.

Grazie

Le immagini del profilo utente vengono recuperate da Gravatar se hanno un account Gravatar. Non sono sicuro di quanto spesso avvenga questo aggiornamento, ma esiste un modo per forzarne il download.

Se necessario, puoi aggiornarle per tutti eseguendo:

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

L’esecuzione richiederà del tempo.

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

@IAmGav, grazie per il tuo suggerimento.

Purtroppo, anche dopo aver eseguito questo passaggio e atteso 30 minuti, gli avatar non vengono ancora visualizzati.

Ho dedicato diverse ore a questo problema, ma non sono riuscito a trovare una soluzione. Anche il ripristino dal backup non ha aiutato :frowning:

Ho trovato questa segnalazione del 2018: How to fix user avatar?

Per quanto ne so, il problema lì era legato a qualche incompatibilità tra i componenti interni di Discourse. Potrebbe essermi capitato qualcosa di simile? A essere onesto, mi aspetterei che un problema in Discourse colpisca molte più installazioni, ma anche il problema menzionato sopra riguardava un solo segnalante.

Apprezzerei qualsiasi aiuto :pray:

Alcuni consigli:

  1. Controlla l’URL di una delle immagini non funzionanti: cosa succede se aggiungi ?a alla fine dell’URL? L’immagine inizia a funzionare?

  2. Riesci a correggere manualmente un singolo utente (passa alla lettera, carica un avatar, passa all’avatar, aggiorna l’avatar)?

Le tue immagini sono locali o su S3?

@sam

Le immagini sono locali. Aggiungere ?a alla fine dell’URL dell’immagine non ha aiutato.

È interessante notare che riesco ancora a vedere la mia immagine nelle pagine delle preferenze (ma non è così per gli altri utenti). Dal punto di vista degli URL, succede quanto segue:

  • L’URL della mia immagine dalla pagina principale viene risolto nel segnaposto predefinito (anche con ?a): https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/45/2_2.png?a
  • L’URL della mia immagine dalla pagina delle preferenze viene risolto nell’immagine corretta: https://forum.techyourchance.com/user_avatar/forum.techyourchance.com/vasiliy/120/2_2.png

Ho provato a risolvere il problema per un singolo utente. Passare a una lettera, poi a un’immagine personalizzata e infine di nuovo a Gravatar non ha funzionato.

C’è un altro problema che sto riscontrando. Sembra non correlato, ma dato che le probabilità di imbattersi in due problemi indipendenti contemporaneamente sono molto basse, sospetto che ci sia una connessione tra di loro.

Il forum non invia più inviti agli utenti (lo faceva in passato).

Ho invitato diversi utenti, ma nessuno ha ricevuto l’invito. Quindi ho inviato un invito a me stesso (con un’email diversa) e non l’ho ricevuto nemmeno io. Ora ho diversi inviti in sospeso:

Ho pensato immediatamente che il problema fosse nell’integrazione con Mailgun, o addirittura nella consegna delle email, quindi ho inviato un’email di prova a me stesso, ma è arrivata immediatamente. Guardando la pagina delle email inviate, vedo quanto segue:

Il forum ha inviato le email di prova, ma non gli inviti.

A questo punto, credo che la mia installazione di Discourse sia andata completamente in tilt. Probabilmente ho fatto qualcosa io stesso senza rendermene conto. Sto lottando con questo problema da molte ore nel momento peggiore possibile (lancio della mia nuova community). Pertanto, eseguirò semplicemente un’installazione pulita di Discourse, senza ripristinare dal backup, e reinviterò tutti gli utenti. Fortunatamente, al momento non ci sono molti utenti e non c’è molto contenuto sul forum.

Lascierò il droplet con la vecchia installazione per un po’, nel caso abbiate bisogno di ulteriori informazioni. Se deciderete che vale la pena indagare, non mi dispiacerebbe affatto darvi accesso tramite SSH.

Grazie per il vostro aiuto. Spero che l’installazione pulita funzioni.

Controlla anche questo argomento: Avatars lost after restore. How to get them back? - #57 by Overgrow

Ciao @Vasiliy

Prima di creare un’istanza completamente nuova per questo problema, potresti controllare il job scheduler (sidekiq) per verificare se funziona correttamente, se ci sono job falliti, se la coda dei job è intasata, ecc.

your.cooldiscoursesite.com/sidekiq

Solo un pensiero…

Inoltre, potresti anche controllare il log di Rails, in particolare il log degli errori.

@neounix
Grazie per i tuoi suggerimenti.

Non ho potuto dedicare altro tempo al debug di questo problema al momento, quindi ho già creato un nuovo forum. Finora funziona bene.

A dir la verità, mi sento un po’ stupido per non aver pensato di controllare i log. Non che mi aspettassi di capire cosa dicessero, ma avrei dovuto allegarli alla segnalazione. Beh, meglio tardi che mai. Sto allegando ora tutti i log dalla directory di rails.

Li ho cercati un po’ con grep e sembra che ci siano effettivamente alcuni messaggi di errore. Tuttavia, non riesco a capire cosa significhino e se siano anche correlati ai problemi. Probabilmente membri più esperti saranno in grado di investigarli meglio.