Unione utenti danneggiata?

Dopo aver aggiornato con successo la mia installazione di Discourse dalla beta 2.7 beta 2 alla beta 2.7 beta 3, ho appena provato a unire due utenti per un account che aveva pubblicato circa 270 post in totale tra i due profili.

Sono passate 45 minuti e il sito è ancora in modalità grigia, con la scritta “Cambio della proprietà dei post”. Immagino che qualche processo si sia bloccato da qualche parte.

Il mio forum, nel frattempo, era praticamente inattivo (nessun altro utente connesso).

Cercando indizi su questo forum, ho incrociato un post che menziona il plugin Merge Users, il quale “potrebbe smettere di funzionare presto” ora che Discourse ha integrato nativamente questa funzionalità (a partire da Discourse 2.5.0 beta 3).

Ho ancora installato quel plugin (versione 0.1), anche se, per la precisione, non ho avviato l’unione dal menu dei plugin, ma ho usato il pulsante “Unisci” direttamente sulla pagina del profilo dell’utente (in basso a destra). Immagino quindi di aver attivato lo strumento nativo di Discourse e non il plugin.

Non sono sicuro che il problema sia del plugin o dello stesso Discourse, che abbia causato il blocco del processo.

Posso accedere al sito come amministratore tramite un’altra sessione del browser e vedo che entrambi i profili sono ancora presenti; tuttavia, tutti i vecchi post da unire, tranne 9, sono ora associati al nuovo account previsto. Accanto a questo numero, vedo un avviso che potrebbe o meno essere legato a questo specifico tentativo di unione: “Impossibile eliminare tutti i post. Alcuni post sono più vecchi di 60 giorni. (Impostazione delete_user_max_post_age).”

Per caso, TUTTI i post uniti con successo erano più vecchi di 60 giorni, quindi non so cosa pensare di questo messaggio.

Cosa devo fare ora per terminare elegantemente il processo (assumendo che sia ancora in corso) ed evitare la corruzione del database?

1 Mi Piace

OK, ho desistito e ricaricato la finestra del browser che era in grigio, e il sito è ripreso come se nulla fosse accaduto, mostrando la stessa vecchia versione dell’account utente con i 9 post ancora non uniti.

Ho riprovato, dopo aver impostato delete_user_max_post_age a 99999: stesso risultato. Poi ho provato a unire nell’altro senso: stesso risultato.

Alla fine ho riprovato usando il plugin, e questa volta ha funzionato perfettamente al primo tentativo, richiedendo solo un minuto o due.

Quindi, sulla base delle evidenze disponibili, la funzione di unione di Discourse nella versione 2.7 beta 3 è in qualche modo rotta, mentre il plugin continua a funzionare.

Funziona perfettamente quando la provo io. Forse c’era qualcosa che non andava perché avevi installato il plugin? Qui è classificato come #plugin:broken-plugin. Sono contento che tu l’abbia finalmente risolto.

2 Mi Piace

Grazie. Disinstallerò il plugin, con la premessa che se la situazione non migliorerà la prossima volta per il processo di unione nativo, presumibilmente potrò sempre reinstallarlo.

Mi chiedo se l’età o la fonte dei post da unire siano state un fattore. Questi post sono stati tutti importati da un forum Yahoo Groups ora inattivo, e il processo di importazione ha creato utenti ‘zombie’ in cui non esisteva già un utente attivo corrispondente per l’indirizzo email dato. Credo che questo vecchio account utente fosse un esempio di ciò.

2 Mi Piace