Однако это имеет некоторые нежелательные побочные эффекты.
На экземплярах, где не установлены плагины solved или assign, типы событий отображаются, но отсутствует перевод, и (естественно) события недоступны, хотя они и показываются.
Плагины solved и assign в настоящее время сломаны на новых стабильных и бета-установках, так как в них отсутствуют seed-данные.
Моя первоначальная мысль состояла в том, чтобы попросить вас сделать бэкпорт seed-данных в стабильную версию для исправления проблемы №2, но поскольку есть дополнительная ошибка (№1), возможно, лучше оставить код инициализации в самом плагине и просто зарезервировать ID в коде ядра.
Если коротко, я думаю, что будет лучше перенести код
WebHookEventType.seed do |b|
b.id = WebHookEventType::SOLVED
b.name = "solved"
end
У меня не возникает никаких проблем при локальном запуске стабильной версии (2.4.1) с последними версиями плагинов discourse-assign и discourse-solved.
Могли бы вы предоставить информацию о том, как я могу воспроизвести проблемы, с которыми вы столкнулись?
При новой установке на стабильной версии с последней версией плагина solved в таблице web_hook_event_type не будут созданы ID, из-за чего тип вебхука не будет отображаться.
Это происходит потому, что код, отвечающий за заполнение ID, был удалён из плагина solved и ещё не добавлен в стабильную/бета-версию.
На ранее установленных сайтах, где использовалась более старая версия плагина solved, данные уже были заполнены, поэтому у них этой проблемы нет.
Таким образом, шаги для воспроизведения просты: создайте абсолютно новую установку на стабильной версии.
Чистая новая установка на 2.4.1 с плагином solved: вебхук недоступен.
Хорошо, вы абсолютно правы, приношу извинения за неясность. Я перепутал «сломано» и «недоступно», и поскольку это новая функция, действительно ничего не сломано.
Хотя немного странно, что код инициализации для плагина перенесён в ядро. Я понимаю, что вы хотите зарезервировать ID, но мне кажется, было бы чище оставить инициализацию в плагине. Но это лишь моё личное мнение