監視ワード正規表現のクラッシュ

これは二重のバグです。

まず、正規表現のエラーにより、投稿が行われるたびに500サーバーエラーが発生します。
以前のバグレポートも参照してください Invalid regular expressions in 'Watched Words' makes no watched word work (シナリオ:より悪い)。

次に、ダッシュをエスケープする以前は正しかった正規表現が、現在は正しくないと見なされます。そのため、3.1.0安定版より前は \\- が機能していましたが、現在は致命的なエラーが発生します。

これはおそらくUnicodeが9a27803で有効になったために発生していると思われます。

Regular expression syntax cheat sheet - JavaScript | MDN を参照してください。

:-@などの文字は、エスケープされている場合でもエスケープされていない場合でも、特別な意味を持ちません。 \\:\\-\\@のようなエスケープシーケンスは、正規表現でリテラルのエスケープされていない文字と同等になります。ただし、正規表現でunicodeフラグを使用すると、これらは無効なエスケープシーケンスエラーを引き起こします。これは、\\p\\kのような新しいエスケープシーケンスを使用する既存のコードとの後方互換性を確保するために行われます。

しかし、ここに例外ハンドラがあれば良いのですが。

「いいね!」 10

これを優先し、今後4週間以内に対応します。

「いいね!」 7

これは修正されました。

現在、Ruby側からJavaScriptの正規表現の検証を可能にする方法を調査中です。まもなく修正を準備できることを願っています。

「いいね!」 6

先週のアップデート以降、新しい投稿でエラー500が発生するようになりました。また、メール関連のエラー(Sidekiqで、監視ワード関連でした)もありました。今日になって気づきました。アップデートを実行してみましたが、投稿時のエラー500はまだ残っていました。今のところ見つけた唯一の回避策は、監視ワードをすべて削除することです。

これ以上の情報なしでは再現できません。watched_words_regular_expressions サイト設定が有効になっていますか?テストできるように、ウォッチワードのリストをアップロードしていただけますか?または、ログ(https://your-forum/logs)を確認し、ウォッチワードに関連するスタックトレースをここに投稿していただけますか?

watched_words_regular_expressions サイト設定は有効になっていますか? → いいえ

いくつかのテストを行いましたが、ワイルドカードでのみ発生するようです。

アスタリスク例アスタリスク → 500エラーになります
例 → 正しく置換されます

アスタリスクは *

@RGJ、OP(元の投稿者)の質問には答えられたと思いますか?

このプルリクエストをマージしました。

「いいね!」 2