Ох, это было тяжелое обновление. Выявление проблемы в хаосе лога пересборки изначально не такая уж простая задача. Нашел её, дважды упустил необходимость удалить другой плагин из нашей конфигурации, поэтому только с третьей попытки пересборка успешно прошла этот этап. Было бы действительно полезно заранее проверить и предупредить, что конфигурацию нужно скорректировать. Утилита discourse-doctor проверяет наличие плагинов в конфигурации (слишком просто, но можно взять за основу), так что это может послужить отправной точкой. Вероятно, сейчас уже слишком поздно, три недели спустя, и что поделать…
Но это было не всё: мы также столкнулись с ошибками db:migrate. Повторили попытку дважды, затем запустили discourse-doctor, который также выполнил пересборку, и, странно, всё прошло успешно. Я изучил его код: перед пересборкой он абсолютно ничего не делает (никаких изменений), а вызывает пересборку точно так же, как и мы. Получается, что db:migrate сработал с третьей попытки по какой-то причине? Я прочитал в теме, что большое количество добавленных плагинов вносит зависимости, которые могут конфликтовать или быть старше тех, что использовались ранее. К счастью, нам не пришлось вручную удалять плагины, корректировать зависимости или менять базу данных, как это потребовалось другим. Ожидается ли каким-то образом, что многократный запуск db:migrate в итоге приведёт к успеху? Осталось только надеяться, что ничего не сломано…
Я полностью поддерживаю это мнение по данному вопросу. Не стоит внезапно добавлять сразу целый ворох плагинов. Если какая-то функция считается очень полезной для всех (стартовых) инстансов, обсуждайте её индивидуально, по одной. Возможно, тогда будет лучше просто внедрить её нативно в Discourse (с переключателем в настройках), вместо того чтобы оставлять в виде плагина, привлекая его разработчиков. Сейчас мы также рассматриваем возможность добавления шага удаления в нашу конфигурацию и думаем, что делать с плагинами, которые теперь включены по умолчанию. Это подразумевает изменения в нашем инстансе Discourse, которые мы не планировали, и у меня, честно говоря, сейчас нет времени тестировать и обдумывать это после полуночи по местному времени, особенно учитывая хаос с обновлением и необходимость исследований для исправления…
Хотя в связи с этим возник вопрос: не были ли некоторые функции превращены в плагины? Я вижу плагин narrative bot, который я не помню из прошлых версий. В его описании сказано «вводит сотрудников», поэтому сначала я подумал, что это дополнение к discobot только для сотрудников (модераторов, администраторов и т. д.). Но судя по его настройкам, это всё тот же discobot, верно? Все ли эти плагины, которые теперь отображаются как включённые, хотя не были явно установлены через конфигурацию, — это функции, которые уже присутствовали ранее?