Las nuevas entradas de fechas en un tema aparecen así en los correos de notificación correspondientes:
2024-04-18T16:00:00Z UTC→2024-04-18T20:00:00Z UTC
Para el canal de publicación de correo, esto debería reformatearse en una información de fecha legible por humanos con respecto a la zona horaria actual (en este caso: CET) de la instancia de Discourse.
Debe estar en la zona horaria del evento y/o del creador del evento
Debería tener un formato más agradable, es decir, en lugar de “2024-04-18T16:00:00Z UTC→2024-04-18T20:00:00Z UTC” debería leerse como “UTC 2024-04-18, 16:00-20:00”
No conozco el código aquí, pero esta es una posible desventaja, estoy de acuerdo.
Por otro lado, vemos la fecha correcta en el calendario visual de arriba… Alguien que conozca el código debería comentar esto…
No he inspeccionado el código, pero supongo que en la web, la fecha se carga de la misma manera desde la base de datos al cliente y se analiza en el lado del cliente a través de js (que es una opción que no tienes cuando renderizas contenido en el lado del cliente en un cliente de correo electrónico).
Cambiar a UTC fue una mejora con respecto a no mostrar ninguna zona horaria, o una situación muy verbosa en la que podríamos mostrar 3 zonas horarias para cada fecha… pero todavía no ha habido un seguimiento para utilizar una zona horaria del sitio/usuario.
Incluso si está a unas pocas zonas horarias de distancia, muchas personas probablemente puedan adivinar mejor partiendo de una zona horaria específica en lugar de UTC.
La hora UTC actual en los correos electrónicos es realmente, realmente terrible para el “usuario promedio”, especialmente si estás en el lado opuesto del mundo (es decir, Nueva Zelanda).
Muchos foros que usan Discourse están arraigados en una única zona horaria; para ellos, funcionaría brillantemente poder especificar la zona horaria predeterminada que se muestra en los correos electrónicos.
Para aquellos que abarcan zonas horarias, sí, es más complicado, como lo demuestra por qué todavía tenemos una “solución temporal” de 5 años. Me encantaría que alguien considerablemente más inteligente (o al menos más dedicado) que yo lo resuelva.
Absolutamente de acuerdo al 100%. Tenemos un foro que se encuentra en Australia y utilizamos temas cerrados como listas de correo de facto. Casi todos están ubicados en Australia y esperan que los horarios de las reuniones lo reflejen. La hora UTC en los correos electrónicos es completamente desconcertante para muchos usuarios.
¿No podemos al menos establecer la zona horaria que se utiliza y permitir que cada instancia elija anularla o no.
Cambia el formato de correo electrónico predeterminado a llll (por ejemplo: mar, 8 de mayo de 2018 2:00 AM)
desde 2018-05-08T00:00:00Z UTC, que no es agradable a la vista
Añade discourse_local_dates_email_timezone, que permite configurar la zona horaria predeterminada en los correos electrónicos
Texto de ayuda mejorado en la configuración del sitio (formato / zona horaria)
Así, en casos de un discourse muy local, lo configurarías a la zona horaria del país, lo que hace que los correos electrónicos sean menos confusos.
Esto, desafortunadamente, es un poco más complicado, integrarlo en el pipeline no es trivial.
En el texto de ejemplo, no hay zona horaria. Digo que eso sería malo, si eso es literalmente lo que se usaría. Sugeriría encarecidamente añadir el descriptor de zona horaria apropiado de tres o cuatro letras, o el descriptor de formato largo de país/ciudad. El texto existente tiene “UTC”, que es una indicación inequívoca de lo que se quiere decir; el nuevo comportamiento debería ser al menos tan bueno como ese.
Incluso en un “discurso muy local” puede haber usuarios en zonas horarias adyacentes, puede haber cambios de horario de verano, puede haber usuarios que viajan y acceden desde lejos.
No es una batalla en la que vaya a morir, pero ahora es muy difícil entender las fechas, así que estoy más contento de que NYC/Londres/París obtengan algo un poco menos confuso… pero es muy difícil encontrar un formato que funcione para todos.
Sin embargo, podemos mantener el status quo por defecto.
¿Qué sucede si cambio discourse_local_dates_email_timezone a “Europe/Paris” pero no actualizo el formato a “llll Europe/Paris”? ¿Provocará que la hora se convierta a hora de París pero siga mostrando “UTC” después?
Eso me parece propenso a errores. ¿Es posible mostrar automáticamente la zona horaria seleccionada en lugar de esperar que el administrador actualice el formato manualmente? ¿Funcionaría usar "llll z" como valor predeterminado para discourse_local_dates_email_format?