لماذا توقف المكون الإضافي الخاص بي عن العمل بعد أشهر؟

مرحباً، لقد كتبت إضافة أساسية جداً تضيف رمز 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'
** 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. هل لديك أي فكرة عما قد يحدث فجأة؟

وجدت هذا الموضوع أثناء البحث عن حل للمشكلة نفسها، وفي غضون ذلك وجدت حلاً.

يجب أن يكون تضمين تعريف الفئة الآن داخل كتلة after_initialize، وإلا فلن يعمل بعد الآن.

إعجابَين (2)

لكل:

أؤكد أن إصلاحك يبدو أنه ما قام بحل المشكلة لـ @wilson29thid :slight_smile:

إعجاب واحد (1)

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.