L'evento fallisce in silenzio se la descrizione supera i 1000 caratteri

Riepilogo:

Se la descrizione di un evento supera i 1000 caratteri, appare vuota oppure viene visualizzata la descrizione dell’evento precedente.

La causa è un limite rigido nella tabella discourse_post_event_events: description character varying(1000)

Riproduzione #1

  • Crea un evento
  • Fai in modo che la descrizione dell’evento (il testo tra [event] e [/event]) superi i 1000 caratteri
  • La descrizione dell’evento non verrà visualizzata nel post renderizzato

Riproduzione #2

  • Crea un evento
  • Fai in modo che la descrizione dell’evento (il testo tra [event] e [/event]) sia inferiore a 1000 caratteri
  • Modifica l’evento
  • Fai in modo che la descrizione dell’evento (il testo tra [event] e [/event]) superi i 1000 caratteri
  • La descrizione dell’evento precedente verrà visualizzata nel post renderizzato

Ciò consente anche l’avvelenamento della ricerca (search poisoning).

Correlati

Lo stesso sembra valere per i campi url e location

Comportamento atteso

Uno dei seguenti:

a) la descrizione dell’evento dovrebbe essere illimitata
b) viene mostrato un avviso chiaro quando la descrizione dell’evento è troppo lunga
c) la descrizione dell’evento viene troncata durante il rendering (mentre il testo completo viene comunque conservato nel markdown)

6 Mi Piace

Grazie per questo.

A mio avviso, l’opzione (c) senza preavviso è anch’essa insufficiente. Se mi dai un voto, (a) è la soluzione migliore.

1 Mi Piace

Riproduzione confermata sull’ultima versione, testata oggi. Un utente ha segnalato un problema con le card degli Eventi che non venivano visualizzate, senza apparente motivo. Il topic veniva salvato normalmente, il markup dell’Evento era corretto nel post grezzo, ma nessuna card dell’Evento appariva nel topic né altrove. Non c’erano avvisi nel compositore, errori di salvataggio, errori nella console del browser o voci pertinenti nei /logs.

Sarei favorevole alla b) un avviso chiaro o un errore di validazione

Mentre siamo qui, lo stesso comportamento (mancata visualizzazione della card in silenzio) si verifica anche quando, per qualsiasi altro motivo, il markup dell’Evento non può essere analizzato correttamente. Nel caso che stavo indagando qualche mese fa, un utente aveva preparato meticolosamente il markup dell’Evento in Word e poi lo aveva copiato e incollato in Discourse, con conseguente inserimento automatico di “virgolette intelligenti” attorno agli elementi data=, con il risultato comico che ci si poteva aspettare.

Quindi sì, un errore visibile, anche se solo nella console, sarebbe davvero molto utile.

2 Mi Piace