Criar eventos não respeita o local de horário de 12 horas do usuário

Há um pequeno bug em que o plugin não respeita a localidade de hora de 12 horas do usuário ao criar um evento, e em vez disso sempre mostra a localidade de hora de 24 horas. Isso torna a inserção de eventos complicada e propensa a erros para usuários dos EUA que não usam o formato de 24 horas.

(Felizmente, ele é renderizado corretamente após a criação do evento)

Caso contrário, parece um ótimo plugin, obrigado :slight_smile:

Além disso, seria bom se houvesse uma configuração para ajustar o limite de lembretes que um criador de evento pode definir para um evento. 5 é muito :sweat_smile:

1 curtida

Obrigado por apontar isso! Tive a mesma experiência ao inserir data/hora em um tópico, que compartilha o mesmo problema. Acredito que este seja um problema conhecido e há uma explicação para ele. A entrada segue a região do seu dispositivo, não as configurações de localidade nas suas preferências do Discourse. Mas a exibição segue as suas preferências de localidade do Discourse (e também de qualquer usuário que veja sua postagem contendo um evento ou data/hora). Você pode confirmar isso do seu lado?

Certamente seria menos confuso e uma melhor experiência do usuário se fossem os mesmos para o usuário que cria o evento ou adiciona data/hora a uma postagem.

Aqui está uma demonstração. Observe na captura de tela abaixo o horário selecionado de 16:00, mas 16:00 na entrada. O motivo pelo qual isso está acontecendo comigo é que configurei a região do meu dispositivo para Alemanha (que usa horário de 24 horas), enquanto minha localidade do Discourse é EUA-WA (que usa horário de 12 horas). A entrada parece seguir a localidade do dispositivo.

Isso aparece como [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] em markdown, que é exibido corretamente para mim como 16h: 2025-04-01T23:00:00Z.

Mudar a região do meu dispositivo para os Estados Unidos alinhou esses dois, mas é um processo complicado que requer reinicialização.


Com minha região definida como Estados Unidos, quando insiro data/hora em um tópico, a hora de entrada também está em formato de 12 horas. O markdown é o mesmo [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] e é exibido corretamente como 16h: 2025-04-01T23:00:00Z.

2 curtidas

Obrigado pela resposta detalhada (e de um colega de Washington, nada menos :))

Então, este bug é na verdade sobre o “inserir evento” (plugin oficial), não sobre o “inserir data/hora” (integrado). Eu entendo completamente a confusão, pois quando tentei usar o plugin pela primeira vez, também cliquei na data/hora em vez do evento e fiquei confuso sobre por que ele não gerava o evento.

Como nós dois ficamos confusos com isso, pode haver uma oportunidade de melhorar a interface do usuário:

  • Em um mundo ideal, talvez esses pudessem ser mesclados em um único botão, que solicitasse ao usuário se ele está tentando criar um evento ou uma hora. (Isso exigiria muito retrabalho de código, no entanto)
  • Mais simplesmente, se o botão de evento estivesse diretamente adjacente ao botão de data/hora, em vez de escondido sob o ícone de engrenagem, provavelmente alertaria o usuário de que existem dois fluxos diferentes disponíveis. (Não verifiquei se isso é possível, mas parece mais fácil em termos de implementação)

Dito isso, para responder às suas perguntas:

  • :white_check_mark: Quando uso inserir data/hora, ele realmente mostra o horário de 12 horas para mim
  • :cross_mark: É apenas quando uso inserir evento que ele exige o horário de 24 horas

Em relação à região do dispositivo, não estou no iOS, então não tenho certeza a que essa configuração corresponde em outros sistemas operacionais. (Estou no Linux e verifiquei que meu locale está retornando tudo en_us ou en_US.UTF-8… mas talvez haja alguma outra configuração oculta). Você pode confirmar se está vendo o mesmo comportamento na página “inserir evento” (não apenas “inserir data/hora?”)? Parece que não está habilitado para este fórum, então você pode ter que configurar uma instância de teste, embora, como é um plugin oficial, deva ser fácil de obter.

3 curtidas

Ah, interessante! Então eu me aprofundei explicando como funciona para inserir data/hora, e o comportamento é realmente diferente. :facepalm: Acabei de verificar (ainda estando na região dos Estados Unidos, de acordo com meu dispositivo) e vejo que você está certo! O pop-up “Adicionar evento” pede a hora no formato de 24 horas, embora a inserção de data/hora agora esteja em formato de 12 horas.

A inserção de data/hora é um recurso principal, enquanto “Adicionar evento” faz parte do plugin calendar-and-event. São recursos muito separados. Então, vamos nos concentrar aqui no pop-up “Adicionar evento”, que parece ter um bug de UX, que você documentou perfeitamente na primeira postagem deste tópico.

Melhorar a interface do usuário no menu do compositor é uma conversa totalmente diferente. Se você quiser iniciar um novo tópico sobre isso, fique à vontade.

2 curtidas

Não faz muito sentido ter os dois mecanismos diferentes - mas acho que essa é outra questão de UX separada!

Isto é absolutamente necessário!! Tem sido um problema há muito tempo (e talvez justifique o seu próprio tópico de UX). Eu escondo o ícone Inserir data/hora para resolver a confusão, mas isso significa que perdemos essa funcionalidade bastante útil.

1 curtida

Como eu disse… por favor, comecem novos tópicos. Vamos nos concentrar apenas neste bug de UI aqui.

2 curtidas

Sem problema e obrigado por confirmar o bug do pop-up de adicionar evento :slight_smile:

Eu pensei que tinha no passado, mas não consigo encontrar. Farei agora.

1 curtida

Bump - Estou passando por isso também.

O plugin discourse-calendar usa um elemento DateTimeInputRange, mas a interface que @tobiaseigen mencionou na primeira resposta usa o elemento CalendarDateTimeInput.

Como referência, aqui está a implementação para DateTimeInputRange e aqui está a implementação para CalendarDateTimeInput.

1 curtida