몇 달 동안 잘 쓰던 플러그인이 갑자기 멈춘 이유는요?

안녕하세요, 사용자가 로그인한 후 JWT 토큰을 추가하는 매우 기본적인 플러그인을 작성했고, 거의 1년 동안 문제없이 잘 작동해 왔습니다. 오늘 어떤 이유로든 인증서가 만료되어(이것 자체가 흥미로운 부분입니다) 포럼이 다운되었기 때문에 ./launcher app rebuild를 시도했는데, 플러그인 오류로 인해 리빌드가 실패하고 있습니다.

I, [2022-01-27T00:16:48.616458 #1]  INFO -- : > cd /var/www/discourse && su discourse -c 'bundle exec rake db:migrate'
** PLUGIN FAILURE **

You are unable to build Discourse due to this error during plugin
initialization:

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 버전을 실행 중입니다. 갑자기 이런 일이 발생하는 원인이 무엇일지 혹시 아시는 분 계신가요?

같은 문제를 해결하는 방법을 찾다가 이 주제를 발견했습니다. 그 사이에 해결책을 찾았으니 공유합니다.

클래스 정의에 대한 include는 이제 after_initialize 블록 내에 있어야 하며, 그렇지 않으면 더 이상 작동하지 않습니다.

참고:

@wilson29thid 님의 문제를 해결한 것이 당신의 수정 사항인 것 같다는 점을 확인합니다. :slight_smile: