При включении настройки «Регулярные выражения для отслеживаемых слов» некорректные регулярные выражения полностью выводят из строя соответствующую категорию отслеживаемых слов.
Шаги для воспроизведения
- Включите «Регулярные выражения для отслеживаемых слов».
- Добавьте шаблон отслеживаемого слова в категорию «Требует одобрения», например,
same issue. - Добавьте некорректный шаблон отслеживаемого слова, например,
*ban*(как это было бы, если до включения регулярных выражений в отслеживаемых словах использовались подстановочные знаки). - Обратите внимание, что сообщение, содержащее «same issue», будет пропущено очередь одобрения и игнорировано формой «Тест».
- Удалите некорректное отслеживаемое слово.
- Обратите внимание, что теперь «same issue» будет корректно сопоставляться.
Шаги для воспроизведения (более серьёзная проблема):
- Включите «Регулярные выражения для отслеживаемых слов» и теги.
- Добавьте некорректный шаблон отслеживаемого слова в категорию «Тег», например,
*tebex.io*→paid. - Попробуйте создать новую тему. Это вернёт «Ошибка 500» со следующим выводом в
/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'
Примечание
Полезно было бы, чтобы при отключённых регулярных выражениях всё ещё можно было вводить корректное регулярное выражение, аналогичное использованию подстановочных знаков, если оно, например, заключено в блок /, особенно учитывая, что переключатель может сломаться серьёзным образом, если какие-либо существующие отслеживаемые слова уже содержат подстановочные знаки.