Не получается включить Auto Tagging

Я добавил несколько слов в область автоматической разметки для отслеживаемых слов.

Однако при создании новой темы и наличии любого из этих слов в заголовке или теле сообщения автоматические теги не применяются. Предполагаю, что я что-то делаю не так, но не понимаю, что именно.

Разве эта функция работает не так?

2 лайка

У кого-нибудь ещё это работает?

1 лайк

То же самое, у меня тоже не работает (тест проходит, но не при создании реальной темы).

Я хотел проверить, работает ли это и для заголовка, и для сообщения, а также добавляются ли теги в поле тегов по мере ввода, то есть до того, как пользователь нажмёт кнопку отправки. Это позволило бы им удалить тег, если они считают его неподходящим.

1 лайк

Что ж, для функции, которую они только что внедрили, можно было бы подумать, что она уже работает. :smiley:

Я только что провел быстрый тест этого на моем локальном сайте разработки. Когда я добавляю слово для автоматической разметки, тест проходит успешно, но пока мне не удалось добиться автоматической разметки темы, если в посте содержится одно из отслеживаемых слов. Я изучу это подробнее.

Редактирование: Я провел быстрый тест этого на размещенном сайте Discourse и столкнулся с аналогичными проблемами, которые наблюдаю на своем сайте разработки. При тестировании на моем сайте разработки я обнаружил, что метод auto_tag не вызывается, когда я создаю новую тему, содержащую слово для автоматической разметки. Если же я редактирую существующую тему, добавляя в неё слово для автоматической разметки, метод auto_tag вызывается, и тема получает соответствующую разметку.

Я перемещу эту тему в категорию багов.

6 лайков

Я только что заметил, что при импорте встраиваемой темы с удалённого сайта автоматическое тегирование сработало. Я подумал, что, возможно, это уже исправлено, но попробовал создать новую обычную тему — и ничего не вышло. Так что в любом случае оно работает частично.

1 лайк

Я пришел сюда с той же проблемой (автоматическая тегирование не срабатывает при создании новой темы с отслеживаемыми словами). Но я также не могу добавить теги при редактировании существующего поста.

Несколько недель назад я внёс несколько изменений в эту функцию, и я ожидаю, что эти проблемы будут устранены. У вас всё ещё возникают с ней трудности?

3 лайка

Спасибо. Мне нужно обновиться. Я проверю позже сегодня.

1 лайк

Я попробовал снова, но, похоже, проблема всё ещё не решена.

  • Регулярное выражение “PSYC611” не совпадает с этим текстом в новой теме.
  • То же самое и с регулярным выражением “psy(c?)6\d{2,3}” (которое я хотел бы использовать).
  • Всплывающее окно “test” не находит ни одного тега, независимо от введённого значения.

Интересно, что при просмотре консоли ввод любого текста в поле “test” на этой странице вызывает следующую ошибку:

[Error] SyntaxError: Invalid regular expression: nothing to repeat
	RegExp (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
	matches (admin-355470031debabd8f424394656ad96526be89c17169165b65dc4fc52262cabf7.js:1:255499)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:201058)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:114334)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:113340)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:415053)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:407829)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:421290)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:458048)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:462227)
	De (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:187812)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146212)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:146530)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:147093)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:488589)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:487600)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:489624)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:494999)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:491569)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:495515)
	(anonymous function) (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:311475)
	dispatch (ember_jquery-36a23101c869ab0dc53fc908de69adb785731593573d32bdeef416acc1076ef4.js:1:42931)

Я внес ещё несколько исправлений, которые, как я полагаю, решат ваши последние проблемы. Можете ли вы обновиться и проверить это снова?

У меня версия 2.7.0.beta9. Пробовал выполнить git pull, но изменений нет…

О, оно ещё не в бета-версии, так как я только что отправил изменения. Вы можете протестировать его, обновившись до версии tests-passed.

1 лайк

Ах, извините… Придётся подождать с тестированием, так как на данный момент у нас нет staging-окружения.

Оказалось, что тесты были пройдены, но по какой-то причине обновление стало видимым не сразу. В любом случае, я сейчас не на версии 2.8.0.beta1 db7038e6c2, и я снова всё протестировал. У меня по-прежнему возникают проблемы с JS. Вот теги, которые я использую:

(Интерфейс был бы гораздо удобнее в виде списка — эта сетка становится неудобной при использовании множества тегов)

Вот как выглядит тестовое поле:

А вот ошибка в консоли JS:

Screenshot 2021-05-20 at 09.23.16

Браузер: Safari версии 14.0 (15610.1.28.1.9, 15610).

1 лайк

Теперь я понял. В вашем первом регулярном выражении есть ошибка. Вы написали “\d+{1,3}”, что недопустимо. Вы имели в виду “\d{1,3}”?

4 лайка

Ах, извините. Спасибо, что заметили это. Теперь всё работает как надо.

Интересно, было бы полезно перехватывать ошибки и предупреждать пользователя — особенно потому, что нетехнические люди могут случайно написать строки, которые не являются валидными регулярными выражениями? Также было бы здорово, если бы ошибка в одном регулярном выражении не влияла на остальные. В данном случае были валидные совпадения с некоторыми последующими регулярными выражениями, которые не были найдены из-за ошибки в первом.

2 лайка

Есть ли что-то, что мы можем сделать здесь, чтобы пользователи знали, когда они «стреляют себе в ногу» с регулярными выражениями, @sam? Можно ли скрыть регулярные выражения за расширенным режимом? Можно ли по умолчанию использовать границы слов — ведь именно это большинство людей хотят, когда вводят слово?

2 лайка

Кажется, у меня всё работает, даже с элементами, содержащими двоеточие или косую черту (например, 1:35, 1/35).

Спасибо!

1 лайк

Мой подход — вообще не требовать полноценных регулярных выражений и предоставить достаточно возможностей «из коробки», чтобы только 1 из 10 000 сообществ вынужден был погружаться в детали и использовать регулярные выражения.

В данном конкретном примере от @ben, если бы мы поддерживали ?, то:

PSY7?? → masters
PSY6?? → stage4
PSYC7?? → masters
PSYC6?? → stage4

Закрываю эту тему, так как похоже, что функция работает корректно. (Да, регулярные выражения более мощные, но этого достаточно, чтобы реализовать то, что пытается сделать Бен).

3 лайка