Загадочное сообщение «Tags is invalid»

У нас есть сайт с планом «Open Source», размещённый на домене .discourse.group. В последнее время пользователи, пытающиеся создать пост, сталкиваются с проблемой: появляется сообщение «Теги недопустимы». Мне не совсем понятно, почему это происходит и как решить проблему. Буду благодарен за совет.

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


Наша настройка:

У нас есть категория «Использование». Цель — требовать, чтобы все посты в этой категории содержали хотя бы один тег из группы тегов language. Также могут быть добавлены другие теги, но хотя бы один тег из группы language должен всегда присутствовать. Это связано с тем, что наш форум является службой поддержки для библиотеки программного обеспечения, имеющей (довольно различные) привязки к нескольким языкам программирования. Пользователи часто забывают указать, какую именно привязку они используют. Без этой информации на их вопросы невозможно ответить.

Вот конфигурация категории «Использование»:

Группа тегов language:


Иллюстрация проблемы:

Вот что происходит, если я пытаюсь создать новый пост. Странно, но если затем удалить все теги, пост всё равно будет опубликован (хотя хотя бы один тег должен быть обязательным).

Пример поста:

Сообщение об ошибке:

:warning:: предположение наугад
Не может ли быть так, что тег «c» каким-то образом конфликтует с маршрутом «c» для категории?

Здравствуйте,

У меня те же симптомы, но вы можете редактировать теги через редактирование заголовка, что отлично работает для меня.

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

Может ли кто-нибудь из команды Discourse прокомментировать, пожалуйста?

Я не понимаю, что вы имеете в виду под «вы можете редактировать теги через редактирование заголовка». Можете уточнить?

Извините, это моя ошибка. У меня возникает та же проблема при редактировании тегов темы, но не при создании новой.

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

Ну, достаточно близко :sweat_smile:

Это должно/может сработать после пересборки :crossed_fingers:

Меня просто удивляет, что создание этого тега вообще было разрешено!

В версии 2.6.0.beta1 ( b9174c8e8a ) до исправления я не мог его создать (хотя сообщения об ошибке не было: при нажатии на кнопку «Сохранить» в группе тегов с символом «c» группа просто не сохранялась, а после обновления страницы тег «c» не появлялся).

Может быть, стоит попробовать воспроизвести проблему с тегом «none»?

Вы знаете, когда это исправление появится на сайтах, размещённых на .discourse.group? Я раньше не особо следил за выпусками, так как всё удобно управлялось и обновлялось самой платформой Discourse. :slight_smile:

Ах да, я упустил эту часть :thinking: Насчёт обновления для размещённых сайтов я не в курсе, но тем временем вы можете использовать «language C» или что-то ещё, а как только исправление будет развёрнуто, поправить на «C»: https://your.domain/tag/your-tag, нажмите на «details», затем на «rename». И позвольте мне добавить, в знак уважения к новому компоненту для GIF:

:slightly_smiling_face:

Вы, вероятно, правы. Возможно, класс TagGroup в discourse/app/models/tag_group.rb at main · discourse/discourse · GitHub мог бы выиграть от использования validate :name_validator в классе Tag, но я не знаю… это выше моей квалификации :sweat_smile:

У меня всё ещё возникает эта проблема на моем экземпляре Discourse при создании новых тем время от времени:

Если я удаляю большинство тегов, создание темы проходит успешно.

После этого я могу отредактировать заголовок и теги, добавив отсутствующие теги снова, на этот раз без сообщения об ошибке.

Эта проблема существует уже месяцы/годы. Я не могу найти закономерность, возможно, она возникает при попытке создать новые теги во время написания первого сообщения, но я не уверен.

Обновление 1: Я являюсь администратором сайта и создаю новое сообщение с этой учётной записи, поэтому я сильно предполагаю, что это не проблема с правами доступа как таковая.