لقد وجدت هذه عند الترقية. حسنًا، لقد مضى على ذلك وقت طويل الآن، لكنني هذه المرة سجلت السجلات.
[db:default] 'Messages section for sidebar' - checking...
Invalid version list in /tmp/discourse_theme_c64ff70a4cc7d614d9e88b106805c78f
[db:default] 'Unhide composer fullscreen toggle for tablets' - checking...
Invalid version list in /tmp/discourse_theme_4f18f6036fb93a7e2c8eca368c66ad09
[db:default] 'Discourse Highlight to Search' - checking...
Invalid version list in /tmp/discourse_theme_f7e393183be5f0189adb336c4602f071
[db:default] 'Discourse Wikipedia Lookup' - checking...
Invalid version list in /tmp/discourse_theme_8cf76b5d4fe5eac70cd636ee2487be35
[db:default] 'Accent' - checking...
Invalid version list in /tmp/discourse_theme_9796e5491667b1c43c7b9c680fc68ff3
هناك العديد من الأسباب التي قد تؤدي إلى ظهور هذا الخطأ. والأرجح أن السبب الأكثر شيوعًا هو أن ملف .discourse-compatibility فارغ [1]، [2]، [3]. (الرموز # في البداية هي أسطر تعليقات)
بشكل أساسي، تعني التحذير أن ديسكورس غير قادر على تحديد ما إذا كانت الإصدار “الأحدث” الحالي للمكوّن/الإضافة متوافقًا مع إصدار ديسكورس الحالي. أو ما إذا كان يجب عليه استرداد إصدار أقدم من المكوّن/الإضافة.
يمكن أن يحتوي ملف .discourse-compatibility الخاص بالمكوّن/الإضافة على خريطة تربط بين نطاق إصدارات ديسكورس وإصدار محدد من المكوّن/الإضافة. إذا وجد ديسكورس خريطة، فسيستخدم هذا الإصدار بدلاً من الإصدار الأحدث. وهذا يتطلب من المطور تحديث الملف بمجرد إجراء تغييرات تتسبب في كسر التوافق مع إصدار ديسكورس سابق. طالما أنك لم تقم بإجراء تغييرات كاسرة للتوافق، سيبقى الملف فارغًا، وبالتالي سيظهر رسالة التحذير هذه.
يعتمد ما إذا كان المكوّن/الإضافة يعملان مع أحدث إصدار من ديسكورس دائمًا على التخمين.
بدأت في تطوير إضافة للإصدار 2026.1، لذا سيكون هذا الحد الأدنى لإصدار ديسكورس. لا يزال يتم تطويره واختباره ضد هذا الإصدار (وتم اختباره ضد الإصدار الأحدث الحالي). نظرًا لعدم وجود إصدار أقدم مدعوم من ديسكورس، فإن ملف .discourse-compatibility فارغ؛ وبالتالي يظهر رسالة التحذير هذه. بمجرد انتهاء دعم الإصدار 2026.1، سأنتقل إلى إصدار الدعم الممتد الجديد (ESR). في ذلك الوقت، لن أختبر بعد ذلك ضد الإصدار 2026.1، وبالتالي سأقوم بتحديث ملف .discourse-compatibility ليصبح غير فارغ أخيرًا. فقط عندها ستختفي رسالة التحذير هذه لإضافتي.
لقد جربت ذلك. قمت بإنشاء شوكة (fork) للمكون Discourse Wikipedia Lookup وأضفت ملف .discourse-compatibility إليه. نسخت المحتوى من مكون آخر. اختفت تلك التحذيرة. إذن، كان الأمر يتعلق بذلك حقًا.
شكرًا لك.
ولكن، ألقيت نظرة على بعض المكونات الإضافية الأخرى، إما أن ملف .discourse-compatibility كان مفقودًا تمامًا أو كان فارغًا تمامًا. ومع ذلك، لم تظهر أي تحذيرات.
نسخ المحتوى من ملف التوافق لمكون آخر قد يؤدي إلى أخطاء لأن الالتزام المرجعي لإصدار محدد من Discourse غير موجود في المستودع الذي قمت بنسخه إليه.
أعلم أن سير العمل لفروع التوافق فشل في مستودعاتي لأنني لم أقم بعد بإضافة الإصلاح الذي أضافه Arkshine إلى الهيكل الأساسي للمظهر. أعتقد أن كلا من مستودعاتي في قائمتك متأثران بذلك حالياً.
سيؤدي هذا إلى إيقاف تسجيل التحذيرات للملفات التي تحتوي فقط على تعليقات:
لا يزال يتم دعم .discourse-compatibility، على الرغم من أن توصيتنا الآن هي اتباع استراتيجية التوافق مع السمات/الإضافات المعتمدة على الفروع d-compat/*. مزيد من التفاصيل هنا:
لذا، إذا لم يحتوي ملفك على أي إدخالات حقيقية، فأنا أوصي بحذفه.
بالتأكيد. لا أخطط لاستخدام ذلك الشوكة فعلياً. كان مجرد اختبار للتأكد من أن السبب يعود إلى استخدام ملف القالب/النموذج. أردت فقط التأكد من استخدام التزامات الفعلية والنصيب الصحيح.