Problema de personalización de mensajes emergentes y texto después de la actualización

Actualicé hace unos días. Después de la actualización, me encontré con un problema.

Si la “configuración regional predeterminada” está en inglés, no hay problema. El mensaje emergente se muestra correctamente, pero en otros idiomas te encuentras con problemas.
No puedo cambiar algunos textos relacionados con la sección de chat. Por cierto, lo intenté y puedo hacer cambios en otras partes. No estoy seguro de si este problema está relacionado solo con la parte del chat o si hay otras áreas también.
Me encontré con el mismo problema, ya sea que hiciera la actualización desde la interfaz o con el comando.
Lo intenté de nuevo hoy. Desinstalé todo e hice una instalación limpia.
Tengo una instalación limpia y no hay complementos ni componentes instalados.

Versión: 3.1.0.beta2 -(6fa9a8990d)

¿Alguna idea, por favor?



1 me gusta

Acabo de revisar esto en mi sitio de prueba y puedo reproducirlo. No había actualizado mi sitio de prueba en un tiempo y en la versión f19044af6a funcionó bien, pero al actualizar a la última 39be3cb619 se comportó de la misma manera que se informa.

Mis pasos:

(Versión f19044af6a)

  • Establecer default locale a ‘Español’
  • Establecer chat dm retention days a ‘30’
  • Ir a /admin/customize/site_texts y editar js.chat.retention_reminders.dm
  • Refrescar y comprobar el mensaje con un nuevo usuario de prueba:

Actualizar a 39be3cb619

  • El mensaje existente tiene el valor del parámetro raw:

  • Ir a /admin/customize/site_texts y editar js.chat.retention_reminders.dm ahora da un error 500 con esto en los logs:

Message (4 copies reported)

NoMethodError (undefined method `scan' for {:one=>"Personal chat history is retained for %{count} day.", :other=>"Personal chat history is retained for %{count} days."}:Hash

    keys = text.scan(pattern)
               ^^^^^)
lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:124:in `check_interpolation_keys'
app/models/translation_override.rb:65:in `upsert!'
app/controllers/admin/site_texts_controller.rb:88:in `update'
app/controllers/application_controller.rb:414:in `block in with_resolved_locale'
app/controllers/application_controller.rb:414:in `with_resolved_locale'
lib/middleware/omniauth_bypass_middleware.rb:74:in `call'
lib/content_security_policy/middleware.rb:12:in `call'
lib/middleware/anonymous_cache.rb:369:in `call'
config/initializers/100-quiet_logger.rb:20:in `call'
config/initializers/100-silence_logger.rb:29:in `call'
lib/middleware/enforce_hostname.rb:24:in `call'
lib/middleware/request_tracker.rb:228:in `call'

Backtrace

lib/i18n/i18n_interpolation_keys_finder.rb:6:in `find'
app/models/translation_override.rb:124:in `check_interpolation_keys'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:400:in `block in make_lambda'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:199:in `block (2 levels) in halting'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:687:in `block (2 levels) in default_terminator'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:686:in `catch'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:686:in `block in default_terminator'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:200:in `block in halting'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:595:in `block in invoke_before'
activesupport (7.0.4.1) lib/active_support/callbacks.rb:595:in `each'

3 Me gusta

¿Y no hay forma de corregir esta situación solo desde la interfaz de usuario @JammyDodger?

1 me gusta

Estoy bastante seguro de que una solución similar a Cannot update text for js.composer.error.post_length - #2 by gerhard funcionará.

3 Me gusta

Creo que es un poco diferente al del enlace que mencionaste. Ves el problema si tu idioma predeterminado no es inglés y si cambias “chat dm retention days” de 0 a x días.
Además, la solución que mencionaste no funciona, no puedes cambiar el texto (js.chat.retention_reminders.dm) ni siquiera en modo seguro. Hay un error 500 cuando intentas cambiarlo.

2 Me gusta

Intenté de varias maneras, pero no pude restablecerlo y que me permitiera volver a entrar para cambiarlo manualmente. Al revisarlo ahora, el texto ha vuelto a su texto predeterminado pero con la variable sin procesar (por lo que no hay opción de ‘restablecer’ disponible) y al intentar editar manualmente aparece el error 500. También probé la solución alternativa del modo seguro para el otro tema, que no pareció tener ningún efecto.

Buscar js.chat.retention_reminders.dm en la configuración regional inglesa (Reino Unido) me da tres opciones, pero en español solo ofrece dos.

2 Me gusta

Hemos actualizado las traducciones, así que después de actualizar tu Discourse a la última versión, deberías poder solucionarlo en la interfaz de usuario:

Puedes arreglar tu cadena personalizada yendo a Personalizar – > Texto:

  • Busca “js.chat.retention_reminders.dm”
  • haz clic en “editar”
  • haz clic en “revertir cambios” y confirma la pregunta con “sí”
  • haz clic en “volver a la búsqueda”
  • Busca “js.chat.retention_reminders.dm”
  • Verás 3 resultados, personaliza esas cadenas a tu gusto
7 Me gusta

Lo siento por las malas noticias…

1 me gusta

¿Pudiste revertir la cadena personalizada “js.chat.retention_reminders.dm”? Me gustaría cerrar este error si eso lo solucionó para ti.

Bueno, el problema n.º 2 es culpa mía. Lo arreglaré. FIX: Wrong interpolation key by gschlager · Pull Request #20374 · discourse/discourse · GitHub

El problema n.º 1 es un problema diferente. ¿Te importaría crear un nuevo informe de error para eso?

4 Me gusta

Claro, estoy creando de inmediato :+1:

1 me gusta

Este tema se cerró automáticamente 24 horas después de la última respuesta. Ya no se permiten nuevas respuestas.