Un valore elevato per "max lunghezza parole del titolo" causa errore server

  • Imposta title max word length su 2000000000
  • Prova a creare un argomento
  • Ricevi un errore 500
  • Gli argomenti non possono essere creati
RegexpError (numero troppo grande per l'intervallo di ripetizione: /\\p{Alnum}{2000000001,}/)
lib/text_sentinel.rb:62:in `seems_unpretentious?'
lib/text_sentinel.rb:45:in `valid?'
lib/validators/quality_title_validator.rb:12:in `validate_each'
lib/topic_creator.rb:24:in `valid?'
lib/has_errors.rb:13:in `validate_child'
lib/post_creator.rb:133:in `valid?'
lib/post_creator.rb:187:in `create'
lib/new_post_manager.rb:318:in `perform_create_post'
lib/new_post_manager.rb:252:in `perform'
app/controllers/posts_controller.rb:215:in `create'

Introdotto la scorsa settimana. Il massimo è 100000.

2 Mi Piace

Attualmente max topic title length sembra essere limitato a 255, quindi forse anche title max word length dovrebbe avere lo stesso limite?

Pensavo che si potesse rimuovere il limite di lunghezza massima delle parole nel titolo impostandolo a 0 (invece di usare un valore molto alto), ma ciò ha in realtà rivelato un bug separato: attualmente accetta 0 ma ciò non disabilita il controllo, anzi, diventa impossibile creare un argomento poiché nessun titolo è valido:

È ovviamente possibile annullare il commit che ha fatto emergere questo problema, ma indipendentemente da ciò, sembra che title max word length necessiti di una qualche validazione (ad esempio [1, 255])?

2 Mi Piace

Ho provato a farlo limitando title_max_word_length a [1, 255].

1 Mi Piace

Dato che le persone potrebbero aver impostato questo valore a 0 nel tentativo di disabilitare il controllo, potrebbe essere meglio migrare il valore 0 a 255 invece di 1, cosa ne pensi? :thinking:

Non mi oppongo… anche se dubito che ci sia un forum con questo impostato inavvertitamente a 0, dato che a quel punto non si possono creare argomenti, quindi sarebbe probabilmente già stato ripristinato.

2 Mi Piace

È vero! Ignora pure il mio commento!