sì, credo che sia questo il problema. Secondo il modello linguistico, il codice non gestisce bene un elenco di voci, da cui l’errore 500.
Ok, quindi sembra che siamo nel territorio di Contribute > Bug?
Penso che si tratti di un bug e immagino che la correzione sia semplice, ma non capisco davvero bene le nuove categorie. (E personalmente non sottoporrei codice se sentissi di non averlo compreso appieno.)
C’è anche la questione di sapere se lo stato del tuo database deriva da un altro bug che necessita anch’esso di una correzione.
Dato che questo argomento ha avuto solo tre partecipanti, potrebbe essere utile aprire un nuovo thread per segnalare il bug: se un moderatore lo desidera, può sempre unire o ricategorizzare i due.
Ok, in realtà non avevo mai visto il topic Contribute > Bug, né, per quanto ne so, ci avevo mai pubblicato. Inoltre, non credo di avere il livello di competenza necessario per stabilire se si tratti di un bug o meno.
In più, sì, probabilmente hai ragione: potrebbero esserci alcuni problemi storici nel DB che hanno innescato questo punto critico.
Anche se c’è la necessità di rendere di nuovo accessibile l’account admin, prima o poi, immagino che la cosa resti nelle mani degli dèi, ma almeno forse siamo arrivati alla radice del problema, quindi speriamo in bene!
Grazie per l’aiuto. ![]()
Inoltre, mi chiedo se questo dia qualche fondamento all’idea di revocare lo stato di amministratore all’account utente, cambiandolo magari a un livello di account moderatore, e se questo potrebbe aggirare il problema al login.
Potrei provarlo, dopo aver fatto un backup di tutto.
La mia preoccupazione è la perdita di dati o il danneggiamento di qualcosa che non saprei come verificare, se sembra tutto a posto e non compaiono errori. ![]()
Prego. È stato interessante.
Probabilmente esiste qualche piccolo trucco in SQL per eliminare quella voce duplicata, ma personalmente non lo farei alla leggera.
Secondo l’LLM, è anche possibile usare la console di Rails per aggiornare la funzione Ruby di dieci righe e renderla più robusta. Questo, almeno, dovrebbe essere un’operazione sicura, perché un riavvio ricaricherebbe il codice Ruby reale dal disco.
Voglio incollare questo per conservarlo, così da poter chiudere una scheda: codice non testato generato da un LLM, presentato qui come una monkey patch da applicare nella console di Rails su un sistema in esecuzione, ma che contiene anche una correzione suggerita dall’LLM per questa fragilità che causa l’errore:
# Riapre CurrentUserSerializer per sovrascrivere il metodo rotto
class CurrentUserSerializer < ApplicationSerializer
def has_new_upcoming_changes
last_visited = object.custom_fields["last_visited_upcoming_changes_at"]
# Estrae la stringa se è stata memorizzata in cache come array dal preloader
last_visited = last_visited.first if last_visited.is_a?(Array)
return false if last_visited.blank? && object.created_at < Discourse.site_creation_date + 1.hour
cutoff = last_visited.present? ? Time.zone.parse(last_visited.to_s) : object.created_at
UpcomingChangeEvent.added.not_backfilled.where("created_at > ?", cutoff).exists?
end
end
Revoca dell’admin
Le azioni si applicano all’account dell’utente admin originale bloccato:
-
Revoca admin + Concedi moderatore = accesso non riuscito/stesso errore.
-
Revoca moderatore
- primo accesso (nessun errore) ma si blocca sulla rotellina di caricamento durante l’autenticazione a due fattori
- L’ho lasciato per circa 10 minuti (il server mostrava un aumento del carico durante l’accesso), ma non è successo nulla
- tuttavia la scheda “utenti attivi” mostra che l’utente è stato registrato Xm fa, hmm

- Provo un secondo accesso in un’altra finestra (in incognito) e riesce!
Ok, quindi questo si presenta come una soluzione temporanea per un utente admin che potrebbe aver bisogno di leggere messaggi/chat ecc., ma non risolve il problema in modo definitivo.
Successivamente, utilizzando un altro account admin, concedo “Admin” all’account dell’ex utente admin attualmente connesso
- Mentre è connesso, arriva un messaggio di aggiornamento dell’admin che indica il successo.
- Aggiorno la pagina e l’errore compare di nuovo
Non posso pubblicare nel topic “Git hang” poiché è chiuso dal 28 settembre, ma qualche minuto fa, notando un comportamento un po’ lento, ho pensato: ah, forse git è di nuovo in tilt e sta causando problemi, e infatti downdetector.com mostrava un grande picco di interruzioni per GitHub più o meno in quel momento. ![]()