Expresión regular de palabras observadas que falla

Este es un error doble.

Primero, un error en una expresión regular causa un error 500 del servidor cuando se publica cualquier entrada.
Vea también este informe de error anterior Invalid regular expressions in 'Watched Words' makes no watched word work (escenario: peor).

Segundo, una expresión regular previamente correcta que escapa un guion, ahora se considera incorrecta. Así que donde \\- solía funcionar antes de la versión estable 3.1.0, ahora causa un error fatal.

Esto probablemente está sucediendo debido a que Unicode está habilitado en 9a27803.

Vea Regular expression syntax cheat sheet - JavaScript | MDN

Tenga en cuenta que algunos caracteres como :, -, @, etc. no tienen un significado especial cuando se escapan ni cuando no se escapan. Las secuencias de escape como \\:, \\-, \\@ serán equivalentes a sus caracteres literales sin escapar en las expresiones regulares. Sin embargo, en expresiones regulares con el indicador unicode, esto causará un error de escape de identidad no válido. Esto se hace para garantizar la compatibilidad con versiones anteriores de código existente que utiliza nuevas secuencias de escape como \\p o \\k.

pero sería bueno si hubiera un manejador de excepciones aquí.

10 Me gusta

Ahora tenemos esto priorizado, lo abordaremos en las próximas 4 semanas.

7 Me gusta

Esto se ha solucionado:

Actualmente estoy investigando cómo habilitar la validación de expresiones regulares de JS desde el lado de Ruby. Espero tener una solución lista pronto.

6 Me gusta

He estado recibiendo el error 500 en nuevas publicaciones desde una actualización reciente (la semana pasada). También hubo errores relacionados con correos electrónicos (en sidekiq, estaban relacionados con palabras vigiladas). Solo me di cuenta hoy. Intenté ejecutar una actualización, pero el error 500 al publicar todavía estaba presente. La única solución que he encontrado por ahora es eliminar todas las palabras vigiladas.

No puedo reproducirlo sin más información. ¿Tienes habilitada la configuración del sitio watched_words_regular_expressions? ¿Puedes subir tu lista de palabras vigiladas para que pueda probar? O tal vez revisa tus registros (https://tu-foro/logs) y publica aquí los rastreos de pila relacionados con las palabras vigiladas.

¿Tiene habilitada la configuración del sitio watched_words_regular_expressions? → No

Hice algunas pruebas, parece que solo ocurre con comodines
asteriscoejemploasterisco → esto da error 500
ejemplo → se reemplaza correctamente

asterisco es *

@RGJ ¿sientes que se ha abordado el OP?

Hemos fusionado este PR

2 Me gusta