ترقية مكون الواجهة عبر rake لا تعمل

لدينا مكون سمة نقوم بتثبيته عبر أمر rake. يعمل المكون وإعداده عبر أمر rake بشكل مثالي. كما أن الترقية تعمل بشكل مثالي عند إجرائها من واجهة مستخدم المسؤول، مثل /admin/customize/themes/40. لكن المشكلة تظهر عندما نحاول ترقيته من سطر الأوامر باستخدام أمر rake المذكور. المخرجات هي بالضبط ما أتوقعه. ومع ذلك، لا تنعكس التغييرات. هل يبدو هذا وكأنه خطأ برمجي؟

$ rake themes:install -- '--{"discourse-login-modal": {"url": "https://github.com/example/discourse-login-modal.git", "add_to_all_themes": true}}'
discourse-login-modal: تم تثبيته بالفعل. جاري التحديث من المصدر البعيد.

النتائج:
 تم التثبيت: 0
 تم التحديث: 1
 الأخطاء: 0

تقديم تفاصيل أكثر حول المشكلة. تشغيل أمر rake للترقية لم يُظهر أي تغيير مرئي في مكون السمة الخاص بي، ولكن بعد ذلك تعتقد واجهة مستخدم الإدارة أن الترقية قد تم تطبيقها (لم يتم التقاط لقطة الشاشة في الوقت المناسب).

بعد تغيير لاحق في مكون السمة الخاص بي، تظهر واجهة مستخدم الإدارة الآن أن ترقية متاحة، ولكن عند تطبيقها، أحصل على تحذير بأن التغييرات المحلية سيتم تجاوزها. هذه التغييرات هي بالضبط ما أردت تطبيقه عبر أمر rake install الذي لم يتم تطبيقه فعليًا.


.

مرحبًا @markvanlan، شكرًا لك على عملك في أمر rake لتثبيت السمة! هل تعرف سبب عدم عمل الترقية عبر rake install؟

سأبحث في هذا لاحقًا هذا الأسبوع. لم أكن أدرك أن أمر rake لا يعمل.

لم أستطع معرفة سبب عدم عمل التحديث، لكن فكرت في حل بديل: إضافة أمر إلغاء التثبيت. يبدو أن إلغاء تثبيت السمة قبل استخدام أمر rake install يعمل بشكل صحيح.

لقد قدمت طلب سحب (PR) قصير للتحقق مما إذا كان هذا النهج مقبولًا للمتابعة: [WIP] FEATURE: Rake task to uninstall theme by chandandi · Pull Request #10138 · discourse/discourse · GitHub

أعتذر عن نسيان المتابعة بشأن هذا!

لدي فكرة حول سبب عدم التحديث. إذا كنتُ محقًا، فيجب أن يكون الإصلاح سريعًا جدًا.

هناك شيء غريب جدًا هنا. عندما يقوم ThemesInstallTask بتحديث سمة عن بُعد، يتم تحديث معلومات السمة عن بُعد بشكل صحيح (يُظهر أحدث SHA، و commits_behind يساوي 0 كما لاحظت)

لكن ملف SCSS لم يتم تحديثه في قاعدة البيانات. كنت أفترض أن المشكلة تتعلق بعدم كسر التخزين المؤقت، لكن هذا ليس هو الحال! ملف SCSS في قاعدة البيانات لا يتم تحديثه.

يجب أن تكون القيمة مختلفة في هذه الصورة

عند النظر في كيفية معالجة وحدة تحكم السمات في لوحة الإدارة للتحديثات مقارنة بكيفية تحديث المهمة للسمات عن بُعد، لا أرى أي فرق.

:male_detective: :mag:

سأصل إلى حقيقة هذا اللغز.

تمكّنت من تحديد جذر المشكلة وإنشاء طلب سحب (PR). وقد شرحتُ المشكلة في الوصف.

تم الدمج! تم إصلاح التحديث.