Если ошибка указывает на то, что reactions, data explorer и solved всё ещё присутствуют в вашем файле YML, то, скорее всего, это так. Если вы считаете, что закомментировали их, возможно, они были введены дважды?
Определённо стоит проверить конфигурацию и убедиться, что вы редактировали именно тот файл YML, который соответствует вашему сайту.
Следуя системному промпту, я удалил плагин discourse-oauth2-basic перед успешным обновлением до стабильной версии 3.4.6.Однако теперь я обнаружил, что в панели администратора отсутствуют параметры конфигурации для OAuth 2 Basic.
Если вы используете стабильную версию, то ни одно из сказанного в этой теме не будет актуально до следующего стабильного релиза в начале августа. Поэтому вам следует снова добавить oauth2-basic в ваш app.yml. Первоначальная ошибка, вероятно, была вызвана по другой причине.
К сожалению, логика «подсказок» работает не очень умно и не различает стабильные версии и версии с пройденными тестами.
Я тоже, но что мы можем с этим сделать, да? lol. Думаю, что добавление большего количества нативных ресурсов, то есть плагинов, даже если они отключены, — не лучшее решение для помощи новичкам в самостоятельном хостинге.
Как я ни пытался закомментировать строки с клонированием в секции плагинов, система всё равно воспринимала их как команду на установку этих плагинов. Что я сделал? Удалил строку, и в итоге всё заработало.
При обновлении обязательно проверяйте список плагинов, уже включённых в ядро Discourse, чтобы не добавлять их в секцию плагинов для установки. Если такая строка есть в вашем файле app.yml, удалите её.
Поскольку они предустановлены, я считаю, что должны быть опции, чтобы отделить их от списка установленных. Список установленных должен позволять удалять их, а не только отключать.
Возможно, основные объединённые плагины стоит разместить в разделе «Рекомендуемые плагины» или «Основные плагины».
Реальность такова, что стабильная ветка является LTS, и довольно хорошей. Она получает обновления безопасности, и вполне понятно, какие версии плагинов с ней совместимы (благодаря файлу .discourse-compatibility). Я полностью признаю, что до того, как всё начало работать как надо, прошло много времени, но за последние два года или около того это изменилось — это большое достижение команды.
Теперь о второй части вашего утверждения. Действительно, часто создаётся впечатление, что stable — это то, чего не стоит желать. Но на хостинге Communiteq мы уже 2,5 года предоставляем клиентам бесплатный выбор между стабильной версией («приоритет стабильности, новые обновления два раза в год, обновления безопасности раз в месяц») и тестовой версией («всегда на острие, новые функции раз в месяц»), и 85% выбирают стабильную версию.
Понимаю. Но разве это не проблема разработки, а не проблема продакшена? Я вполне понимаю, что вы делаете это в среде разработки. Но добавление этих плагинов в стандартную установку продакшена как бы противоречит самой идее плагина (который по определению не является стандартным компонентом).
Единственная реальная выгода для продакшена, которую я вижу, — это очень специфический случай с удалением плагинов и хостингом для нескольких сайтов. (Снова скажу, что это хорошо, все остальные проблемы продакшена со временем были решены!)
Это тоже можно было бы решить в скрипте настройки, показав список плагинов, которые пользователи могут выбрать, а затем добавив их в app.yml.
Но вы всё ещё предлагаете разные (под)наборы плагинов для разных тарифных планов, верно?
Все эти плагины установлены во всех наших планах для самостоятельного использования. Некоторые тарифы не имеют к ним доступа, но они остаются установленными, даже если доступ отсутствует.
Мы не меняем это решение, поэтому людям просто придётся с этим смириться. Я понимаю, что некоторые расстроены, некоторые против этого, но это решение не изменится.
Это даёт нам скорость в разработке, определяет наши предпочтения и обеспечивает более стабильную работу Discourse, используемого большинством людей.
Существуют и другие плагины… основные плагины — это не единственные плагины.
Я абсолютно согласен, что имеет смысл перенести популярные плагины и их функциональность в основное изображение. Особенно если они созданы теми же разработчиками (CDCK), что и ядро. Это распространённая практика даже для других проектов программного обеспечения. Но нам следует решить проблемы с загрузкой — я всё ещё оптимистичен
Это, безусловно, был бы лучший путь. Это всё ещё можно реализовать, используя код удаления плагина из предыдущего поста.
Добавление этого в скрипт установки даёт гораздо более широкие возможности из коробки и является довольно распространённой практикой в программах, позволяющей пользователю выбрать, устанавливать ли определённые дополнительные функции.
Файл совместимости — это здорово. Однако, на мой взгляд, информация о совместимости должна добавляться в темы. Ссылкой или инструкциями на случай, если TC/плагин доступен как для стабильной, так и для установки с пометкой «тесты пройдены».
Плагин автоматизации, честно говоря, вообще не стоит удалять. У него огромный потенциал для полезных применений. На мой взгляд, нужно уделить ему больше времени, чтобы расширить возможности автоматизации.
Но да, здорово, что появилась возможность убрать лишнее, удалив надстройки. Как указал @RGJ, в последнее время дополнительные опции фактически объединились, и теперь можно запрашивать подтверждение перед их установкой. Возможно, стоит даже создать отдельный скрипт для запуска после установки, чтобы сделать процесс более удобным для тех, кто разворачивает систему самостоятельно, и избежать необходимости редактировать app.yml.