Un utente amministratore sta riscontrando un errore strano dopo aver aggiornato Discourse. L’errore si verifica quando l’utente clicca sul pulsante Indietro o sul logo del sito. Sembra che venga attivato JavaScript per tornare alla radice/home del sito, ma invece vengono generati i seguenti errori:
Ho anche notato che questo accade con qualsiasi clic sulla barra di navigazione, ad esempio tentando di andare a /admin.
Qualche idea su come indagare ulteriormente? Non vedo errori in production.log o altrove, quindi è stato un vero rompicapo, dato che sembra legato a JavaScript.
Finora, ho continuato a imbattermi in vicoli ciechi durante l’ulteriore debug. Sospetto che la “Modalità Provvisoria” non disabiliti completamente JavaScript a causa di questo… Esiste un altro passaggio che possa eliminare ulteriormente JavaScript dalle funzionalità per i test?
Il tuo sito è accessibile al pubblico? Se sì, c’è la possibilità di condividere un link? (Va bene anche tramite un messaggio privato se preferisci non pubblicarlo pubblicamente)
Grazie per il link @mreach. Da qui non vedo problemi evidenti.
Hai menzionato che questo problema interessa solo un utente del sito. Sai se è limitato a un singolo browser/dispositivo? O si verifica per questo utente anche quando accede da un dispositivo diverso?
Se il problema riguarda solo un browser/dispositivo, potrebbe indicare che un’estensione del browser (ad esempio un blocco degli annunci) interferisce con il codice di Discourse.
Se invece il problema si presenta su tutti i browser, la situazione è più complessa. Hai installato plugin di terze parti sul tuo forum? Sarebbe anche utile sapere come l’utente ha configurato la sua ‘pagina iniziale predefinita’ (trovabile nelle preferenze ‘interfaccia’ di Discourse).
Grazie, sì, ho avuto più o meno gli stessi pensieri. Ho fatto provare loro a disabilitare tutte le estensioni e a cancellare tutti i dati del browser. Ho appena ricevuto un’ulteriore segnalazione dallo stesso problema da un altro utente… E sono entrambi su Chrome. Ho chiesto loro di provare Firefox e Brave e hanno detto che in entrambi i casi funzionava, ma nulla di ciò che hanno provato sembra far funzionare di nuovo Chrome “correttamente”. Ho chiesto loro di nuovo i risultati in modalità Incognito e hanno entrambi confermato che Incognito funziona. Tutto questo è accaduto dopo l’ultimo aggiornamento di Discourse, quindi sembra che qualcosa non venga cancellato correttamente in JS… Il che non riesco proprio a capire come sia possibile.
Ho chiesto loro quale pagina è impostata come home page… Ti farò sapere. È un’ottima idea che non mi era nemmeno venuta in mente…
L’utente che riscontra il problema ha impostato “Categorie” come home page:
Se la modificano in un’altra, ad esempio “Ultime”, riescono a caricare la home page cliccando sul logo del sito E usando la freccia “indietro” del browser. Se la cambiano DI NUOVO in “Categorie” invece di “Ultime”, il problema/l’errore si ripresenta.
Quindi questo utente è anche un amministratore e, se/cliccano sull’icona hamburger in alto a destra e selezionano “Admin”, ricevono anch’essi l’errore riportato sopra, anche quando la home page è impostata su “Ultime” invece di “Categorie”.
Certo, è una nuova informazione, ma non del tutto utile dal mio punto di vista. Mmh.
C’è la possibilità di ottenere maggiori dettagli su questi errori? Dovrebbero essere tutti espandibili e, si spera, includere un po’ più di informazioni sull’errore.
Potrebbe essere utile sapere cosa c’è dentro gli .... Se fai clic sul piccolo triangolo a sinistra del log, dovrebbe espandersi per rivelare ulteriori informazioni. Una copia/incolla o uno screenshot di quello potrebbe essere d’aiuto.
A parte questo, stai riscontrando errori lato server (in /logs)? E stai eseguendo l’ultima versione di Discourse?
Immagino che il tuo sito non fosse in manutenzione deliberata al momento dell’errore? In tal caso, deve esserci qualcosa di sbagliato nell’implementazione o nella configurazione del proxy. Per escluderlo, sei in grado di esporre direttamente Discourse sulla porta 80/443? (secondo le nostre istruzioni standard di installazione)
Certo, è possibile che un errore in Discourse stia causando la visualizzazione di questo messaggio da parte del proxy. Tuttavia, è difficile diagnosticarlo senza sapere cosa stava restituendo Discourse. Forse il tuo proxy mantiene i log delle risposte upstream di Discourse?