Al activar la configuración de «expresiones regulares para palabras vigiladas», las expresiones regulares inválidas rompen por completo la categoría específica de palabra vigilada.
Pasos para reproducir
- Activa «expresiones regulares para palabras vigiladas».
- Añade un patrón de palabra vigilada a «Requiere aprobación», por ejemplo:
same issue. - Añade un patrón de palabra vigilada inválido, por ejemplo:
*ban*(como ocurriría si hubiera comodines en las palabras vigiladas antes de activar las expresiones regulares). - Observa que una publicación que contenga «same issue» omitirá la cola de aprobación y también será ignorada por el formulario «Probar».
- Elimina la palabra vigilada inválida.
- Observa que «same issue» ahora coincidirá correctamente.
Pasos para reproducir (peor caso):
- Activa «expresiones regulares para palabras vigiladas» y etiquetas.
- Añade un patrón de palabra vigilada inválido a «Etiqueta», por ejemplo:
*tebex.io*→paid. - Intenta publicar un nuevo tema. Esto devolverá «Error 500» con el siguiente resultado en
/logs:
RegexpError (target of repeat operator is not specified: /*tebex.io*/)
app/services/word_watcher.rb:116:in `initialize'
app/services/word_watcher.rb:116:in `new'
app/services/word_watcher.rb:116:in `matches?'
lib/topic_creator.rb:184:in `block in setup_tags'
lib/topic_creator.rb:183:in `each'
lib/topic_creator.rb:183:in `setup_tags'
lib/topic_creator.rb:46:in `create'
lib/post_creator.rb:501:in `create_topic'
Nota al pie
Creo que sería útil que, aunque las expresiones regulares estén desactivadas, aún se permitiera ingresar una expresión regular válida de forma similar a los comodines, por ejemplo, si está envuelta en un bloque /, especialmente porque el interruptor fallará de manera grave si ya existen palabras vigiladas antiguas con comodines.