Una stringa di traduzione Bad MF in locale client Hebrew causa un errore fatale del sito

Questo è successo circa 3 giorni fa dopo un aggiornamento tramite WebUI. il sito ha circa 2 mesi, circa 500 utenti e finora ha funzionato bene.

Ho provato a riavviare, poi a ricostruire, poi a svuotare redis. Ricevo ancora quella schermata bianca.

Cosa provo dopo? Inizio senza plugin? Gratto e ripristino dal backup?

Log pertinenti:

rails/production_errors: vuoto

rails/production:
  Started GET "/" for 147.234.130.218 at 2024-07-21 08:38:13 +0000
Processing by ListController#unread as HTML
  Rendered layout layouts/application.html.erb (Duration: 114.3ms | Allocations: 34494)
Completed 500 Internal Server Error in 264ms (ActiveRecord: 0.0ms | Allocations: 88191)

Probabilmente ci hai già provato, ma per sicurezza: anche la modalità provvisoria fallisce?

Non ne sapevo nulla fino ad ora, grazie, ma il problema persiste.
Come ho detto, tutto sembra a posto se mi disconnetto (tecnicamente cancello i cookie), fallisce quando accedo.

Ammetto di non avere esperienza con Rails e di non sapere come ottenere log più dettagliati.

Beh, per me rails è… beh, più che difficile.

Ma 500 è un errore del server. C’è una grande probabilità che provenga da qualche plugin, ma potrebbe anche essere una configurazione errata. La modalità sicura può dare un indizio su cosa è rotto, se il problema si verifica dal lato dell’utente. Ma se qualcosa che cambia la funzionalità è rotto lato server, allora la modalità sicura è inefficace.

Certo, puoi disabilitare ogni plugin e ricostruire per vedere se la situazione si risolverà. E dopo iniziare a capire quale. O almeno disabilitare tutti i plugin che non sono di Discourse — e anche questo non è del tutto sicuro perché non tutti quelli ufficiali sono qui in uso.

Ma ci vuole parecchio tempo. Forse è una mossa più saggia aspettare che intervenga qualcuno che ne sappia davvero qualcosa.

Dare un’occhiata in /logs può spesso rivelare dettagli aggiuntivi, o controllare la console del browser quando si tenta di caricare la pagina.

1 Mi Piace

Niente di strano nella console del browser (Firefox) e l’unica riga di log che vedo creata su richiesta è pubblicata nell’argomento originale sopra.

Qual è la mia prossima mossa? ./launcher bootstrap e ripristino dal backup?

Penso che Jammy intenda i log di Discourse. Puoi accedere come amministratore?

1 Mi Piace

Io sono l’admin e, quando accedo, le informazioni sono scarse, quindi ho chiesto all’interno…

Sì, mi riferivo alla pagina YourSite/logs. Non c’è nulla registrato lì per l’errore?

1 Mi Piace

oh dear… a lack of locale translation is a reason to throw a 500?!

EDIT: Since this became a bug report - I don’t think the problem is in the language files per se (since copying the *.en.yml files over he.yml didn’t help) I suggest that such problems should at leat fail gracefully and fall back to english.

Da quello che ho letto, non c’è modo di ripristinare git a un ultimo commit funzionante prima di questo problema? Se questo ha superato i test, immagino che dovremo aggiungerne uno nuovo. Questo commit non funzionerà se il tuo sito dovesse utilizzare la locale “sbagliata”. Qual è il modo più veloce per rimettere online il sito e come posso evitare che ciò accada in futuro?

Non sono del tutto sicuro che si tratti solo di una questione di locale mancante da qualche parte. Da quello screenshot anche le tue impostazioni MaxMind sono sbagliate.

La mia pura ipotesi è che ci sia qualcos’altro di rotto e che il resto sia rotto anche esso. Farei /.launcher rebuild app e proverei a vedere se compare qualcosa di strano.

Quale lingua stai usando come localizzazione primaria?

Ebraico

e ho ricostruito più volte, nessuna novità.

Proverei ad accedere alla console di Rails e impostare SiteSetting.default_locale='en'

In alternativa: User.find_by(username: 'my-username').update(locale: 'en')

1 Mi Piace

C’è qualcosa che devo eseguire per sovrascrivere la locale predefinita dei miei utenti? Perché questo da solo non ha cambiato molto.

Oh bene. Ha funzionato per me. I testi vengono ancora visualizzati correttamente (allineati da destra a sinistra) e solo l’interfaccia utente è in inglese. è imbarazzante ma utilizzabile.

quindi scorrerò tutti gli utenti con questo e poi quando l’ebraico si sbloccherà li scorrerò tutti indietro?

Prenderei del tempo per trovare l’errore nella localizzazione e risolverlo prima di farlo.

Voglio prima mettere il sito online e funzionante. Se la traduzione è errata da parte di Crowdin, non ho modo di correggerla.