Здравствуйте! Я написал очень простой плагин, который добавляет JWT-токен после входа пользователя, и он работал без сбоев почти год. Сегодня наш форум перестал работать, потому что, как ни странно, истёк срок действия сертификата. Я попытался выполнить ./launcher app rebuild, но сборка не удалась из-за ошибки в плагине.
I, [2022-01-27T00:16:48.616458 #1] INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
** ОШИБКА ПЛАГИНА **
Сборка Discourse не может быть завершена из-за следующей ошибки при инициализации плагина:
uninitialized constant Auth::DefaultCurrentUserProvider
/var/www/discourse/plugins/discourse-jwt-session/lib/jwt_current_user_provider.rb:3:in `<main>'
Соответствующая строка в плагине выглядит так:
class JwtCurrentUserProvider < Auth::DefaultCurrentUserProvider
Не могу понять, почему это вдруг перестало работать, поскольку в файле lib/auth/current_user_provider.rb не видно никаких значимых изменений, поэтому этот константа должна всё ещё существовать. Неужели изменился порядок загрузки библиотек и плагинов?
Если закомментировать плагин в файле app.yaml, сборка завершается успешно. Если раскомментировать — ошибка возникает снова.
Для справки: мы используем версию 2.8.0beta4. Есть ли у вас идеи, что могло произойти внезапно?