Crear eventos no respeta la configuración de hora de 12 horas del usuario

Hay un pequeño error en el que el plugin no respeta la configuración regional de hora de 12 horas del usuario al crear un evento, sino que siempre muestra la configuración regional de hora de 24 horas. Esto hace que la introducción de eventos sea engorrosa y propensa a errores para los usuarios de EE. UU. que no utilizan la hora de 24 horas.

(Afortunadamente, se muestra correctamente después de que se crea el evento)

Por lo demás, parece un gran plugin, gracias :slight_smile:

Además, sería bueno si hubiera una configuración para ajustar el límite de recordatorios que un creador de eventos puede establecer en un evento. 5 es mucho :sweat_smile:

1 me gusta

¡Gracias por señalar esto! He tenido la misma experiencia al insertar la fecha/hora en un tema, que comparte el mismo problema. Creo que es un problema conocido y hay una explicación para ello. La entrada sigue la región de tu dispositivo, no la configuración regional que tienes en tus preferencias de Discourse. Pero la visualización sí sigue tus preferencias de configuración regional de Discourse (y también las de cualquier usuario que vea tu publicación que contenga un evento o fecha/hora). ¿Puedes confirmarlo en tu sistema?

Ciertamente sería menos confuso y una mejor experiencia de usuario si fueran las mismas para el usuario que crea el evento o agrega la fecha/hora a una publicación.

Aquí tienes una demostración. Ten en cuenta en la captura de pantalla a continuación la hora seleccionada de las 4:00 p. m. pero las 16:00 en la entrada. La razón por la que esto me sucede es que tengo la región de mi dispositivo configurada en Alemania (que usa el formato de 24 horas), mientras que mi configuración regional de Discourse es US-WA (que usa el formato de 12 horas). La entrada parece seguir la configuración regional del dispositivo.

Esto aparece como [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] en markdown, que se muestra correctamente para mí como 4 p. m.: 2025-04-01T23:00:00Z.

Cambiar la región de mi dispositivo a Estados Unidos alineó estos dos, pero es un proceso engorroso que requiere un reinicio.


Con mi región configurada en Estados Unidos, cuando inserto la fecha/hora en un tema, la hora de entrada también está en formato de 12 horas. El markdown es el mismo [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] y se muestra correctamente como 4 p. m.: 2025-04-01T23:00:00Z.

2 Me gusta

Gracias por la detallada respuesta (y nada menos que de un conciudadano de Washington :))

Entonces, este error se refiere en realidad a la “inserción de eventos” (plugin oficial), no a la “inserción de fecha/hora” (incorporada). Me identifico completamente con la confusión, ya que cuando intenté usar el plugin por primera vez, también hice clic en la fecha/hora en lugar del evento y me confundí sobre por qué no generaba el evento.

Dado que ambos nos confundimos al respecto, podría haber una oportunidad para mejorar la interfaz de usuario:

  • En un mundo ideal, quizás estos podrían fusionarse en un solo botón, que le pregunte al usuario si está intentando crear un evento o una hora. (Esto requeriría una gran cantidad de trabajo de código, sin embargo)
  • Más sencillamente, si el botón de evento estuviera directamente adyacente al botón de fecha/hora, en lugar de oculto bajo el engranaje de “más”, probablemente alertaría al usuario de que hay dos flujos diferentes disponibles. (No he investigado si esto es posible, pero parece una implementación más fácil)

Dicho esto, para responder a sus preguntas:

  • :white_check_mark: Cuando uso la inserción de fecha/hora, de hecho muestra la hora en formato de 12 horas para mí.
  • :cross_mark: Es solo cuando uso la inserción de evento que requiere la hora en formato de 24 horas.

Con respecto a la región del dispositivo, no estoy en iOS, así que no estoy seguro de a qué corresponde esta configuración en otros sistemas operativos. (Estoy en Linux y verifiqué que mi locale devuelve todo en_us o en_US.UTF-8… pero tal vez haya alguna otra configuración oculta). ¿Puede confirmar si está viendo el mismo comportamiento en la página de “inserción de evento” (¿no solo en “inserción de fecha/hora”?) No parece estar habilitado para este foro, por lo que es posible que tenga que iniciar una instancia de prueba, aunque dado que es un plugin oficial, debería ser fácil de conseguir.

3 Me gusta

¡Oh, interesante! Así que me metí en un agujero de conejo explicando cómo funciona para insertar fecha/hora, y el comportamiento es en realidad diferente. :facepalm: Acabo de comprobar (todavía estando en la región de Estados Unidos según mi dispositivo) y veo que ¡tienes razón! El popup “Añadir evento” pide la hora en formato de 24 horas, aunque la inserción de fecha/hora ahora está en formato de 12 horas.

Insertar fecha/hora es una característica principal, mientras que “Añadir evento” es parte del plugin calendar-and-event. Son características muy separadas. Así que centrémonos aquí en el popup “Añadir evento”, que parece tener un error de UX, el cual has documentado perfectamente en la primera publicación de este tema.

Mejorar la UI en el menú del compositor es una conversación totalmente diferente. Si quieres iniciar un nuevo tema al respecto, siéntete libre de hacerlo.

2 Me gusta

No tiene mucho sentido que los dos mecanismos sean diferentes, ¡pero supongo que ese es otro problema de UX / separado!

¡Esto es absolutamente necesario! Ha sido un problema durante mucho tiempo (y quizás justifique su propio tema de UX). Oculto el ícono Insertar fecha/hora para resolver la confusión, pero esto significa que perdemos esa funcionalidad bastante útil.

1 me gusta

Como dije… por favor, inicien nuevos temas. Centrémonos solo en este error de interfaz de usuario aquí.

2 Me gusta

No hay problema y gracias por confirmar el error emergente de agregar evento :slight_smile:

Creí que lo había hecho en el pasado, pero no lo encuentro. Lo haré ahora.

1 me gusta

Bump - Yo también estoy experimentando esto.

El plugin discourse-calendar utiliza un elemento DateTimeInputRange, pero la interfaz de usuario que @tobiaseigen mencionó en la primera respuesta utiliza el elemento CalendarDateTimeInput.

Como referencia, aquí está la implementación de DateTimeInputRange y aquí está la implementación de CalendarDateTimeInput.

1 me gusta