У меня та же проблема, и она затрагивает больше плагинов, например Locations и Private Topics. Сообщение «У вас есть несохранённые изменения» с опцией сохранения просто не появляется. Даже при изменении чего-либо другого настройки не сохраняются.
Возможно, это стоит перенести в Development, так как официальные плагины, похоже, не страдают от этого, но с другой стороны, проблема возникла после обновления Discourse. Это также затрагивает два официальных плагина (calendar и restricted replies).
Хм, да, это именно проблема FormKit, когда включена настройка enable_simplified_category_creation. Плагинам потребуется мигрировать на использование FormKit и новой структуры данных.
Рабочий пример этого реализован в одном из наших основных плагинов, миграция которого описана здесь:
Вы можете увидеть, как структура формы ветвится с помощью {{#if this.siteSettings.enable_simplified_category_creation}} и как форма построена с использованием FormKit и данных из @outletArgs.form. Старая структура формы остаётся после {{else}} для поддержки устаревших версий.
Обычно я довольно спокоен, когда нужно обновлять плагины из-за изменений в ядре, и доволен тем, как разработчики получают рекомендации. Однако, думаю, команда Discourse действительно подвела нас в этом случае.
Не было никакого объявления (по крайней мере, я не могу его найти, и @moin ещё не указал мне на него )
Не было предпринято никакой попытки смягчить ситуацию с помощью универсального кода в ядре
Даже нет предупреждения в консоли разработчика браузера
Просто всё перестало работать.
Быстрая проверка, вероятно, даже не полная, показывает, что это сломало ХОТЯ БЫ следующие плагины:
Верно! Мы должны были предупредить об этом изменении по мере его продвижения через наш раздел «Предстоящие изменения» — для нас это новый процесс, и мы всё исправим. На данный момент параметр enabled_simplified_category_creation можно отключить в разделе /admin/config/upcoming-changes, чтобы восстановить весь существующий функционал плагина.
Вы должны были получить уведомления об этом изменении как в момент его появления на вашем сайте, так и при его автоматическом включении, что, скорее всего, произошло только на этой неделе, когда изменение было переведено в статус Stable.
Как сказал Крис, смягчение — это грядущее изменение в ядре, которое даст вам время на миграцию:
Что ещё могло бы помочь вам в этом случае? Мы могли бы добавить дополнительные детали в связанную тему о грядущем изменении, объяснив, что разработчикам нужно сделать для подготовки.
Что касается предупреждений для разработчиков, я могу проконсультироваться с командой dev-xp, чтобы понять, можем ли мы в следующий раз сделать что-то лучше.