Indirizzo email duplicato nel profilo utente

In uno dei profili utente, c’è esattamente lo stesso indirizzo email due volte nell’elenco degli indirizzi email. La prima voce è contrassegnata come “principale”. La seconda è “non confermata”.

L’utente non può né rimuovere il secondo indirizzo né confermarlo (c’è già un utente con questo indirizzo…). Né io posso rimuoverlo (la richiesta DELETE restituisce una risposta 428).

Ho provato a cercare nel database. La tabella user_emails elenca solo una voce. Qualcuno ha idea di come ciò possa accadere e di come risolvere il problema?

Potrebbe darsi che tu abbia un indice corrotto. Quale versione di Discourse e di Postgres hai?

Hai attivato i login social? Una possibilità è che abbiano provato a registrarsi con l’indirizzo email, non abbiano risposto all’email di validazione e abbiano poi utilizzato il login social.

Probabilmente cercherei di risolvere il problema dalla console di Rails o, forse, direttamente in SQL.

A parte il fatto che sia confuso vedere l’indirizzo due volte, non c’è alcun problema reale, giusto? L’utente può accedere, ma ha un indirizzo aggiuntivo nel proprio profilo.

  • Discourse 2.7.0.beta4 (33df4233c9)
  • Postgres 13 (dpkg riporta: 13.1-1.pgdg100+1)

Sì, sono abilitati. Questo utente non è collegato a nessuno di essi, quindi al momento non può utilizzarli — almeno a quanto mi risulta.

Ho provato, ma non ho trovato indirizzi duplicati in SQL. user_emails mostra solo una riga per questo utente, mentre user_open_ids e user_associated_accounts non hanno voci. Hai qualche suggerimento su dove cercare?

Esatto. Sono preoccupato che possa essere un sintomo di un problema che potrebbe manifestarsi in modo più grave in seguito e che potrebbe essere risolto ora.