تعذر حفظ إعدادات الفئة التي تم إنشاؤها بواسطة الإضافات

متابعة للمناقشة من إضافة السحر المخصصة :mage::

أنا أعاني من نفس المشكلة، وهي تحدث مع إضافات أخرى أيضًا، مثل Locations وPrivate Topics. رسالة «لديك تغييرات غير محفوظة» مع خيار الحفظ لا تظهر ببساطة. حتى عندما أقوم بتغيير شيء آخر، لا يتم حفظ الإعدادات.

ربما ينتمي هذا إلى قسم Development لأن الإضافات الرسمية لا تبدو متأثرة بهذه المشكلة، لكن من ناحية أخرى، تعطلت هذه الوظيفة مع تحديث لـ Discourse. تؤثر هذه المشكلة أيضًا على إضافتين رسميتين (التقارير والردود المقيدة).

5 إعجابات

نعم، هذه مشكلة محددة في FormKit عند تفعيل enable_simplified_category_creation، حيث سيتعين على الإضافات الترحيل لاستخدام FormKit وهيكل البيانات الجديد.

توجد مثال يعمل على ذلك في إحدى الإضافات الأساسية لدينا، وتم ترحيله هنا:

يمكنك رؤية كيفية تفرع هيكل النموذج باستخدام {{#if this.siteSettings.enable_simplified_category_creation}} وكيف يتم تنظيم النموذج باستخدام FormKit والبيانات من @outletArgs.form. لا يزال هيكل النموذج القديم موجودًا بعد {{else}} لدعم الإصدارات القديمة.

إعجابَين (2)

شكرًا لك على هذا التوضيح، كريس.

عادةً ما أكون هادئًا جدًا عندما أحتاج إلى تحديث الإضافات بسبب التغييرات في النواة، وسعيد بالطريقة التي يُوجَّه بها المطورون، لكنني أعتقد أن فريق Discourse قد أخفق تمامًا في هذا الأمر.

  • لم يكن هناك أي إعلان (على الأقل، لم أستطع العثور عليه، ولم يشير إليّ @moin (بعد) ;))
  • لم تكن هناك أي محاولة للتخفيف من ذلك عبر كود شامل في النواة
  • لا يوجد حتى تحذير في وحدة تحكم مطور المتصفح

الأمر توقف عن العمل ببساطة.

مسح سريع، ربما غير مكتمل، يظهر أن هذا قد عطّل على الأقل الإضافات التالية:

  • Discourse
    • calendar :white_check_mark: ← إضافة رسمية من Discourse
    • restricted replies :white_check_mark: ← إضافة رسمية من Discourse
  • (أعضاء) Pavilion
    • category lockdown
    • custom wizard
    • locations
    • chatbot
  • Communiteq
    • private replies
    • private topics
    • category restrictor
    • always anonymous
    • على الأقل 10 إضافات خاصة
6 إعجابات

صحيح! كان ينبغي أن نحذر من هذا التغيير أثناء تقدمه عبر ميزة التغييرات القادمة لدينا — فهذه عملية جديدة بالنسبة لنا وسنقوم بحلها. في الوقت الحالي، يمكن تعطيل enabled_simplified_category_creation من /admin/config/upcoming-changes لاستعادة جميع وظائف الإضافة الحالية.

4 إعجابات

كان لدينا كل من Simplified category setup والتغيير القادم في واجهة إدارة الموقع (وربما أيضًا عنصر في قسم “ما الجديد”):

كان ينبغي أن تتلقى إشعارات حول هذا التغيير كل من عندما ظهر على موقعك وعندما تم تفعيله تلقائيًا، وهو ما حدث على الأرجح هذا الأسبوع فقط عند نقل التغيير إلى حالة “مستقر”.

وكما قال كريس، فإن التخفيف هو التغيير القادم في النواة، والذي يمنحك وقتًا لنقل الأمور:

ما الذي كان يمكن أن يساعدك في هذه الحالة؟ يمكننا إضافة بعض التفاصيل الإضافية في الموضوع المرتبط بالتغيير القادم حول ما يحتاج المطورون إلى القيام به للاستعداد.

أما بالنسبة لتحذيرات المطورين، فيمكنني التشاور مع فريق dev-xp لمعرفة ما إذا كان بإمكاننا القيام بشيء أفضل في المرة القادمة.


سنقوم بإصلاح هذه المشكلات اليوم. لا بد أن لم يكن لدينا تغطية اختبار كافية هنا، لأن أيًا من هذه الإضافات لم يفشل عندما قمت بـ DEV: Move enable_simplified_category_creation to stable by martin-brennan · Pull Request #39212 · discourse/discourse · GitHub ، لكن إضافات أخرى فشلت:

إعجابَين (2)

تم دمج كلاهما الآن، مع تغطية إضافية للمواصفات، بواسطة @awesomerobot:

4 إعجابات

نعم، تلقيتها في 3 فبراير.

لكن في تلك اللحظة، لم يكن تغيير زر الحفظ العائم قد تم تنفيذه بعد (كان ذلك في نهاية فبراير، أعتقد). لم يكن هناك تحديث إضافي في هذا الموضوع أو في أي مكان آخر يعكس هذه التغييرات.

أي من الخيارات التالية:

  • إعلان تقني في وقته موجهًا لمطوري الإضافات
  • العودة التلقائية المؤقتة إلى المنطق القديم (كما تم فعله لقائمة المواضيع، حيث كانت العودة التلقائية تحدث عند وجود كود إضافات قديم)
  • كود عودة مؤقت يحافظ على عمل الوظائف القديمة (يكتشف المدخلات خارج النماذج ويضمها في الإعدادات التي تحتاج إلى حفظ). كان هذا يمكن أن يوفر عليكم جهود جميع فروع {{#if this.siteSettings.enable_simplified_category_creation}} أيضًا.
  • تحذيرات في وحدة تحكم تطوير المتصفح عند اكتشاف كود قديم
  • فحص ثابت للإضافات المعروفة، مثل ما قمت به أمس (استغرق مني 10 دقائق ووجدت حتى بعض الإضافات الرسمية التي تم تجاهلها :wink: )

سيكون ذلك مُقدرًا جدًا!

5 إعجابات