Не удается добавить боковую панель через редактор настроек объектов

Привет! Я администратор на сайте https://forum.image.sc (Discourse). Вот ошибка, с которой я сталкиваюсь при попытке добавить новую запись в компонент Topic List Sidebars:

Шаги для воспроизведения

  1. Откройте раздел Admin.
  2. В разделе Appearance выберите Themes & components.
  3. В разделе Components нажмите Edit рядом с записью Topic List Sidebars.
  4. Нажмите Objects setting editor.
  5. Прокрутите вниз и нажмите + sidebar, затем выберите новую тему.
  6. Прокрутите обратно вверх и введите name, tag и topic_id.
  7. Прокрутите обратно вниз и нажмите Save Changes.
  8. Появляется сообщение об ошибке, и боковая панель не сохраняется.

Попытки альтернативных решений (ошибка сохраняется)

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

Обходной путь

Вместо использования Objects setting editor, если я нажимаю кнопку Settings Editor в нижней части страницы редактирования компонента Topic List Sidebars, я могу напрямую редактировать JSON. Мне удалось вручную создать запись с теми же данными, которые отклоняются через графический интерфейс.

Это наводит на мысль, что в логике сохранения есть ошибка при обнаружении тегов и их упаковке в массив.

Последнее успешное действие

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

Дополнительные примечания

  • На странице Edit sidebars setting боковые панели не находятся в прокручиваемом компоненте. Это означает, что при достаточно длинном списке боковых панелей сообщение об ошибке и поля ввода данных не видны при нажатии Save Changes. Сначала я даже не понял, что возникла проблема.
  • Ситуация усугублялась тем, что в сообщении об ошибке указывался индекс вместо имени, из-за чего было непонятно, какая именно запись не прошла валидацию.

Спасибо за поддержку!

2 лайка

Спасибо за подробный отчёт, это значительно облегчило поиск проблемы. Для её устранения потребовалось исправление в Discourse, которое вы получите при следующем обновлении вашего сайта.

4 лайка