Плагин кастомного волшебника 🧙

Я создал мастер настройки и сделал несколько тестовых заявок, но не могу удалить их вручную. Судя по тому, что я прочитал в другой теме, единственный способ — через Rails, но я не могу понять, какие команды использовать. ChatGPT часто ошибается в этом вопросе.

1 лайк

Привет :slight_smile:
Похоже, что очень недавнее обновление ядра Discourse (в выходные 6–7 июня) внесло критическое архитектурное изменение, из-за которого плагин discourse-custom-wizard приводит к падению всего цикла загрузки приложения.

Даже попытка перейти по адресу /safe-mode завершается глобальной ошибкой 500, так как сбой происходит при регистрации промежуточного ПО инициализации.

Вот точный трассировочный стек фатальной ошибки, извлечённый из Logster:

ActionView::Template::Error (undefined method 'admin_stylesheets' for class DiscoursePluginRegistry)
lib/stylesheet/manager/builder.rb:199:in `Stylesheets::Manager::Builder#plugins_digest'

Похоже, что на этапе компиляции ассетов/стилей (plugins_digest) ядро Discourse вызывает метод admin_stylesheets у класса DiscoursePluginRegistry, что приводит к исключению «неопределённый метод». Вероятно, это связано с несовпадением того, как кастомный мастер регистрирует или расширяет административные стили.

Отключение плагина в app.yml и полная пересборка контейнера позволяют форуму загрузиться нормально, что подтверждает, что сбой изолирован в точках интеграции мастера.

Не могли бы вы, пожалуйста, проверить и обновить хуки реестра/стилей для совместимости с текущими изменениями в ядре?

Спасибо!

1 лайк

Я также могу подтвердить ту же ошибку. К сожалению, мне пришлось временно приостановить работу плагина.

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

Привет, ребята! Спасибо всем, кто связался со мной по разным каналам по этому вопросу. Проблема решена, и плагин снова работает.

9 лайков

После обновления до последней версии Discourse и плагина у меня возникла проблема.

Я настроил поле, в котором пользователи могут выбирать теги. Я ограничил теги одной группой тегов и выбрал эту группу в разделе Tag Groups (Группы тегов).

Раньше это работало нормально — пользователи могли выбирать только теги из указанной группы.

Теперь же, похоже, что группа тегов не существует, и пользователи могут выбирать любые теги.

Я попробовал удалить группу тегов, сохранить изменения и добавить её снова, но это не помогло. Я также попробовал вообще не использовать группу тегов и выбрать теги в разделе Content (Содержимое), но там ограничено 5 тегами, а у меня их больше.

Не знаю, что делать — это полностью ломает рабочий процесс с моей формой. Я использую этот вариант как обходной путь, поскольку многострочный выбор в выпадающем списке недоступен. Пользователи могут выбрать не более 3 вариантов, поэтому группа флажков тоже не совсем подходит.

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

2 лайка

Привет, Джен! Я только что отправил несколько исправлений для плагина. Пожалуйста, обнови его и дай знать, как всё прошло.

6 лайков

Большое спасибо, @angus, только что обновил, и вроде всё работает.

Когда я пересобирал, я заметил, что на экране появилось это, и решил предупредить тебя:

[DEPRECATION] Template.error_mode= is deprecated. Use Environment#error_mode= instead. Called from /var/www/discourse/plugins/discourse-custom-wizard/plugin.rb:99:in 'block in Plugin::Instance#activate!'
[DEPRECATION] Template.register_filter is deprecated. Use Environment#register_filter instead. Called from /var/www/discourse/plugins/discourse-custom-wizard/plugin.rb:106:in 'block in Plugin::Instance#activate!'
I, [2026-07-22T09:33:52.756446 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake assets:precompile:build'
[assemble_ember_build] Node.js heap_size_limit is less than 2048MB. Setting --max-old-space-size=2048 and CHEAP_SOURCE_MAPS=1
[assemble_ember_build] No existing build info file found.
Fetching and extracting https://get.discourse.org/discourse-assets/2026.7.0-latest-6accc7b7/production.tar.gz...
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
  0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0
100 23.3M  100 23.3M    0     0  30.9M      0 --:--:-- --:--:-- --:--:--  184M
Prebuilt assets downloaded and extracted successfully.
[assemble_ember_build] Reusing existing core ember build. All done.
[DEPRECATION] Template.error_mode= is deprecated. Use Environment#error_mode= instead. Called from /var/www/discourse/plugins/discourse-custom-wizard/plugin.rb:99:in 'block in Plugin::Instance#activate!'
[DEPRECATION] Template.register_filter is deprecated. Use Environment#register_filter instead. Called from /var/www/discourse/plugins/discourse-custom-wizard/plugin.rb:106:in 'block in Plugin::Instance#activate!'
3 лайка

Могу подтвердить, мне снова пришлось отключить плагин.

Большое спасибо создателям за поддержку :folded_hands:

1 лайк

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

1 лайк

Привет. Я восстал из могилы дважды.

Итак, на самовыгруженном форуме Discourse я использую плагин Wizard для некоторых задач, и он довольно хорошо справлялся с защитой от дурака.

Форум не обновлялся уже давно (с марта), поэтому я попросил его обновить, и это было сделано. К сожалению, после обновления мои Wizards внезапно перестали работать так, как раньше. Позвольте объяснить.

С учетной записью администратора я могу нажать «Новая тема» и получить доступ к Wizard. Однако, если я использую обычную учетную запись и нажимаю «Новая тема» в той же категории, вместо перенаправления на Wizard просто открывается редактор на той же странице.

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

Я хотел опубликовать пример, но не смог сделать это из-за недостаточного уровня доверия. Теперь у меня это получилось, так что вот он.

В левой вкладке — аккаунт с правами администратора/модератора. В правой — обычный аккаунт. Не совсем понятно, почему это имеет значение, но я в полном недоумении, братан.

Ссылка на документацию в административном интерфейсе плагина ведет на страницу с ошибкой «Страница не найдена»:

https://pavilion.tech/products/discourse-custom-wizard-plugin/documentation/

Судя по первому сообщению в этой теме, документация находится по следующей ссылке:

https://coop.pavilion.tech/docs?ascending=true&category=82&order=title

2 лайка

Мне любопытно, @angus. Есть ли место для сообщений об ошибках, подобных той, что я отправил?

Привет, @Lebron! Август — спокойный месяц :sun: Я подозреваю, что ваша проблема вызвана специфической ошибкой предварительной загрузки пользовательских полей в ядре discourse/discourse. Я создал PR для её исправления:

4 лайка

LeBron James' Emotional Moment

Спасибо тебе, большой друг. Надеюсь, твой пулл-реквест исправит проблему после слияния, и я пересоберу Discourse. :face_holding_back_tears:

К сожалению, после слияния вашего pull request я столкнулся с теми же проблемами. Магический помощник по-прежнему недоступен для неслужебных аккаунтов, и, несмотря на сохранение после изменения любых настроек моих помощников, они снова сбрасываются на пустые значения, и все мои изменения пропадают. Странно.

Есть ли какие-нибудь другие идеи, возможно?

Это проблема для множества опций, их слишком много, чтобы пересчитать. Именно поэтому я воздерживался от использования этого плагина.
Сохранение информации является огромной проблемой для плагина.

Также есть проблема с интерфейсом, из-за которой элементы иногда исчезают при взаимодействии с ними.

Да, я могу это понять, и мне грустно, потому что это очень полезный плагин. Я переносаю свои автоматизации на новый стек: Authentik, Formbricks и рабочие процессы Discourse. N8N тоже может быть мне полезен.

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

Вот моё мнение. Огромная благодарность @angus за разработку и распространение этого плагина. Уважение :folded_hands:

@Lebron для поддержки обновления ядра в плагине потребовалась дополнительная доработка. Попробуйте обновиться ещё раз. Я только что протестировал эту функцию от имени пользователя без прав администратора, и всё работает.

@Eviepayne @satonotdead Привет, ребята! Хотя это правда, что плагин не получает интенсивной поддержки, помимо проблемы с созданием тем неадминистраторами, о которой сообщил Lebron (и которая теперь исправлена), я не наблюдаю никаких других конкретных проблем. Если вы хотите сообщить о чём-то конкретном, пожалуйста, делайте это!

1 лайк

Волшебники работают, но установка полей по-прежнему не работает. Каждый раз, когда я сохраняю после установки категории, например, она очищается. Тем не менее, спасибо, @angus.