RGJ
(Richard - Communiteq)
1
これは二重のバグです。
まず、正規表現のエラーにより、投稿が行われるたびに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
nbianca
(Bianca)
23
これは修正されました。
現在、Ruby側からJavaScriptの正規表現の検証を可能にする方法を調査中です。まもなく修正を準備できることを願っています。
「いいね!」 6
tumbano
(Alberto)
24
先週のアップデート以降、新しい投稿でエラー500が発生するようになりました。また、メール関連のエラー(Sidekiqで、監視ワード関連でした)もありました。今日になって気づきました。アップデートを実行してみましたが、投稿時のエラー500はまだ残っていました。今のところ見つけた唯一の回避策は、監視ワードをすべて削除することです。
nbianca
(Bianca)
25
これ以上の情報なしでは再現できません。watched_words_regular_expressions サイト設定が有効になっていますか?テストできるように、ウォッチワードのリストをアップロードしていただけますか?または、ログ(https://your-forum/logs)を確認し、ウォッチワードに関連するスタックトレースをここに投稿していただけますか?
tumbano
(Alberto)
26
watched_words_regular_expressions サイト設定は有効になっていますか? → いいえ
いくつかのテストを行いましたが、ワイルドカードでのみ発生するようです。
アスタリスク例アスタリスク → 500エラーになります
例 → 正しく置換されます
アスタリスクは *
sam
(Sam Saffron)
27
@RGJ、OP(元の投稿者)の質問には答えられたと思いますか?
このプルリクエストをマージしました。
「いいね!」 2