Creare eventi non rispetta il fuso orario di 12 ore dell'utente

C’è un piccolo bug per cui il plugin non rispetta le impostazioni locali dell’ora di 12 ore dell’utente quando crea un evento, ma mostra sempre le impostazioni locali dell’ora di 24 ore. Ciò rende l’inserimento degli eventi macchinoso e soggetto a errori per gli utenti statunitensi che non utilizzano l’ora di 24 ore.

(Fortunatamente, viene visualizzato correttamente dopo la creazione dell’evento)

Altrimenti, sembra un ottimo plugin, grazie :slight_smile:

Inoltre, sarebbe bello se ci fosse un’impostazione per regolare il limite di promemoria che un poster di eventi può impostare per un evento. 5 è molto :sweat_smile:

1 Mi Piace

Grazie per averlo segnalato! Ho avuto la stessa esperienza quando inserisco data/ora in un argomento, che presenta lo stesso problema. Credo che questo sia un problema noto e ci sia una spiegazione. L’input segue la regione del tuo dispositivo, non le impostazioni internazionali (locale) nelle tue preferenze di Discourse. Ma la visualizzazione segue le tue preferenze internazionali (locale) di Discourse (e anche di qualsiasi utente che guarda il tuo post contenente un evento o una data/ora). Puoi confermarlo da parte tua?

Sarebbe certamente meno confusionario e una migliore esperienza utente se fossero le stesse per l’utente che crea l’evento o aggiunge data/ora a un post.

Ecco una dimostrazione. Nota nello screenshot sottostante l’ora selezionata delle 16:00 ma 16:00 nell’input. Il motivo per cui questo mi accade è che ho impostato la regione del mio dispositivo sulla Germania (che utilizza l’orologio a 24 ore), mentre le mie impostazioni internazionali (locale) di Discourse sono US-WA (che utilizza l’orologio a 12 ore). L’input sembra seguire le impostazioni internazionali (locale) del dispositivo.

Questo appare come [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] in markdown che viene visualizzato correttamente per me come 16:00: 2025-04-01T23:00:00Z.

Cambiare la regione del mio dispositivo negli Stati Uniti ha allineato questi due, ma è un processo macchinoso che richiede un riavvio.


Con la mia regione impostata sugli Stati Uniti, quando inserisco data/ora in un argomento, anche l’ora dell’input è in formato 12 ore. Il markdown è lo stesso [date=2025-04-01 time=16:00:00 timezone="America/Los_Angeles"] e viene visualizzato correttamente come 16:00: 2025-04-01T23:00:00Z.

2 Mi Piace

Grazie per la risposta dettagliata (e da un altro cittadino di Washington, peraltro :))

Quindi, questo bug riguarda in realtà l’“inserisci evento” (plugin ufficiale), non l’“inserisci data/ora” (integrato). Mi immedesimo completamente nella confusione, poiché quando ho provato per la prima volta a usare il plugin, ho cliccato sulla data/ora invece che sull’evento e mi sono confuso sul perché non generasse l’evento.

Dato che entrambi ci siamo confusi su questo, potrebbe esserci l’opportunità di migliorare l’interfaccia utente:

  • In un mondo ideale, forse questi potrebbero essere uniti in un unico pulsante, che chiede all’utente se sta cercando di creare un evento o un’ora. (Ciò richiederebbe però un’ampia riscrittura del codice)
  • Più semplicemente, se il pulsante dell’evento fosse direttamente adiacente al pulsante data/ora, invece di essere nascosto sotto l’ingranaggio “altro”, probabilmente avviserebbe l’utente che sono disponibili due flussi diversi. (Non ho verificato se ciò sia possibile, ma sembra più facile in termini di implementazione)

Detto questo, per rispondere alle tue domande:

  • :white_check_mark: Quando uso l’inserisci data/ora, effettivamente mostra l’ora in formato 12 ore per me
  • :cross_mark: È solo quando uso inserisci evento che richiede l’ora in formato 24 ore

Per quanto riguarda la regione del dispositivo, non sono su iOS, quindi non sono sicuro a cosa corrisponda questa impostazione su altri sistemi operativi. (Sono su Linux e ho verificato che il mio locale restituisce tutti en_us o en_US.UTF-8… ma forse c’è qualche altra impostazione nascosta). Puoi confermare se stai riscontrando lo stesso comportamento nella pagina “inserisci evento” (non solo “inserisci data/ora”)? Non sembra essere abilitato per questo forum, quindi potresti dover avviare un’istanza di test, anche se, essendo un plugin ufficiale, dovrebbe essere facile da reperire.

3 Mi Piace

Oh, interessante! Quindi sono sceso nella tana del coniglio spiegando come funziona per inserire data/ora, e il comportamento è in realtà diverso. :facepalm: Ho appena controllato (essendo ancora nella regione degli Stati Uniti secondo il mio dispositivo) e vedo che hai perfettamente ragione! Il popup “Aggiungi evento” chiede l’ora in formato 24 ore, anche se l’inserimento di data/ora ora è in formato 12 ore.

L’inserimento di data/ora è una funzionalità principale mentre “Aggiungi evento” fa parte del plugin calendar-and-event. Queste sono funzionalità molto separate. Quindi concentriamoci qui sul popup “Aggiungi evento” che sembra avere un bug UX, che hai documentato perfettamente nel primo post di questo argomento.

Migliorare l’interfaccia utente nel menu del compositore è una conversazione totalmente diversa. Se vuoi avviare un nuovo argomento al riguardo, sentiti libero di farlo.

2 Mi Piace

Non ha molto senso avere i due meccanismi diversi, ma immagino che questo sia un altro problema di UX separato!

Questo è assolutamente necessario!! È un problema da molto tempo (e forse giustifica un proprio argomento UX). Nascondo l’icona Inserisci data/ora per risolvere la confusione, ma questo significa che perdiamo quella funzionalità piuttosto utile.

1 Mi Piace

Come ho detto… per favore, inizia nuovi argomenti. Concentriamoci solo su questo bug dell’interfaccia utente qui.

2 Mi Piace

Nessun problema e grazie per aver confermato il bug del popup di aggiunta evento :slight_smile:

Pensavo di averlo fatto in passato, ma non riesco a trovarlo. Lo farò ora.

1 Mi Piace

Bump - Ci sto riscontrando anch’io.\n\nIl plugin discourse-calendar utilizza un elemento DateTimeInputRange, ma l’interfaccia utente menzionata da @tobiaseigen nella prima risposta utilizza l’elemento CalendarDateTimeInput.\n\nCome riferimento, ecco l’implementazione per DateTimeInputRange e qui l’implementazione per CalendarDateTimeInput.

1 Mi Piace