Cadena de traducción mala en hebreo en la configuración regional del cliente causa error fatal en el sitio

Esto sucedió hace unos 3 días después de una actualización a través de la WebUI. El sitio tiene unos 2 meses, tiene alrededor de 500 usuarios y hasta ahora funcionó bien.

Intenté reiniciar, luego reconstruir y luego vaciar Redis. Todavía obtengo esa pantalla blanca.

¿Qué intento a continuación? ¿Empezar sin plugins? ¿Borrar y restaurar desde una copia de seguridad?

Registros relevantes:

rails/production_errors: vacío

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)

Probablemente ya lo intentaste, pero para estar seguro: ¿el modo seguro también fallará?

No lo sabía hasta ahora, gracias, pero el problema persiste.
Como dije, todo parece estar bien si cierro sesión (técnicamente borro las cookies), falla cuando inicio sesión.

Admito que no tengo experiencia con Rails y cómo hacer que produzca registros más detallados.

Bueno, para mí Rails es… bueno, más que difícil.

Pero 500 es un error del servidor. Hay una gran posibilidad de que provenga de algún plugin, pero también puede ser una mala configuración. El modo seguro puede dar una pista de lo que está roto, si el problema ocurre del lado del usuario. Pero si algo que cambia la funcionalidad está roto en el lado del servidor, entonces el modo seguro es inútil.

Claro, puedes deshabilitar todos los plugins y reconstruir para ver si la situación se soluciona. Y después de eso, empezar a averiguar cuál es. O al menos deshabilitar todos los plugins que no son de Discourse, e incluso eso no es totalmente seguro porque no todos los oficiales se usan aquí.

Pero eso lleva bastante tiempo. Quizás sea una medida más sensata esperar hasta que alguien que realmente sepa intervenga.

Echar un vistazo en /logs a menudo puede revelar detalles adicionales, o revisar la consola del navegador al intentar cargar la página.

1 me gusta

Nada inusual en la consola del navegador (Firefox) y la única línea de registro que veo creada en la solicitud se publica en el tema original de arriba.

¿cuál es mi próximo movimiento? ./launcher bootstrap y restaurar desde una copia de seguridad?

Creo que Jammy se refiere a los registros de Discourse. ¿Puedes iniciar sesión como administrador?

1 me gusta

Yo soy el administrador, y cuando inicio sesión, la información es escasa, así que pregunté internamente…

Sí, me refería a la página YourSite/logs. ¿No hay nada registrado allí para el error?

1 me gusta

¡Oh, cielos! ¿La falta de traducción de la configuración regional es motivo para lanzar un 500?

EDITAR: Dado que esto se convirtió en un informe de error, no creo que el problema esté en los archivos de idioma en sí (ya que copiar los archivos *.en.yml a he.yml no ayudó), sugiero que tales problemas al menos fallen elegantemente y recurran al inglés.

Según lo que leí, ¿no hay forma de revertir git a un último commit que funcionaba antes de esta interrupción? Si esto pasó las pruebas, supongo que tenemos una nueva prueba que añadir. Este commit no funcionará si tu sitio da la casualidad de que usa la configuración regional “incorrecta”. ¿Cuál es mi camino para poner el sitio en funcionamiento lo más rápido posible y cómo puedo evitar esto en el futuro?

No estoy totalmente seguro de que sea solo una cuestión de que falte una configuración regional en algún lugar. Por esa captura de pantalla, tu configuración de MaxMind también está mal.

Mi pura suposición es que hay algo más roto y por eso el resto también está roto. Haría /.launcher rebuild app e intentaría encontrar si aparece algo gracioso.

¿Qué idioma estás usando como configuración regional principal?

Hebreo

y he reconstruido varias veces, sin novedades.

Intentaría ingresar a la consola de Rails y establecer SiteSetting.default_locale='en'

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

1 me gusta

¿Necesito ejecutar algo para anular la configuración regional predeterminada de mis usuarios? Porque esto solo no cambió mucho.

Oh, qué bien. Eso me funcionó. Los textos todavía aparecen correctamente (alineados de derecha a izquierda) y solo la interfaz de usuario está en inglés. Es incómodo pero utilizable.

¿Así que recorreré a todos los usuarios con esto y luego, cuando el hebreo se arregle, los recorreré a todos de nuevo?

Me tomaría un tiempo encontrar el error en la configuración regional y solucionarlo antes de hacer eso.

Primero quiero poner el sitio en funcionamiento. Si la traducción está rota desde crowdin, no tengo forma de arreglarla.