Un valor grande para "longitud máxima de palabras del título" causa un error en el servidor

  • Establecer longitud máxima de palabras del título en 2000000000
  • Intentar crear un tema
  • Obtener un error 500
  • No se pueden crear temas
RegexpError (número demasiado grande para el rango de repetición: /\\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'

Introducido la semana pasada. El máximo es 100000.

2 Me gusta

Actualmente, la longitud máxima del título del tema parece estar limitada a 255, ¿así que quizás longitud máxima de palabras del título también debería tener ese límite?

Pensé que se podría eliminar el límite de longitud máxima de palabras en el título estableciéndolo en 0 (en lugar de usar un valor muy alto), pero eso en realidad reveló un error separado: actualmente acepta 0, pero eso no deshabilita la verificación, en cambio, se vuelve imposible crear un tema ya que ningún título es válido:

Por supuesto, es posible revertir el commit que expuso esto, pero independientemente de eso, parece que longitud máxima de palabras del título necesita alguna validación (por ejemplo, [1, 255])?

2 Me gusta

Lo intenté limitando title_max_word_length a [1, 255].

1 me gusta

Dado que la gente podría haber estado configurando esto en 0 en un intento de deshabilitar la verificación, podría ser mejor migrar el valor 0 a 255 en lugar de 1, ¿qué opinas? :thinking:

No me opongo… aunque dudo que haya algún foro con esto establecido inadvertidamente en 0, ya que no se pueden crear temas en ese punto, por lo que probablemente ya se habría revertido.

2 Me gusta

¡Es verdad! ¡Ignora mi comentario por favor!