جربت ذلك الآن، لكنني أعتقد أنني لاحظت مشكلة أثناء الاختبار:
إذا لم يكن المستخدم في أي من المجموعات المسموح بها، فإن التحقق الجديد لـ user_in_copy_button_allowed_groups لا يعيد نتيجة. لذلك، يتم تنفيذ رمز الاحتياط للمنتديات التي لا يمكنها بعد التعامل مع user_in_setting لكنه يفشل:
[THEME 254 'Copy post button'] TypeError: Cannot read properties of undefined (reading 'split')
خطوات إعادة إنتاج المشكلة:
- ثبّت المكوّن وأضفه إلى سماتك
- حدّد المجموعات المسموح بها إلى المشرفين فقط
- تجسّس على مستخدم اختبار غير مشرف وتحقق من وحدة تحكم المتصفح
أعتقد أن المشكلة هنا:
if (Object.hasOwn(settings, "user_in_copy_button_allowed_groups")) {
if (settings.user_in_copy_button_allowed_groups) {
return true;
}
}
هذا يعيد القيمة مسبقًا فقط عندما تكون القيمة true. عندما تكون false، يتم تنفيذ رمز الاحتياط أدناه، والذي يتوقع أن لا تزال قيمة الإعداد موجودة كنص - ولكن في اختبارات مع مكوّن [1] الخاص بي حيث نسخت نمط الاحتياط من copy-post، تكون القيمة undefined بمجرد تفعيل دعم user_in_X. أعتقد أن الحل هو إعادة false في هذه الحالة أيضًا، بحيث يُستخدم الاحتياط فقط عندما لا توجد مفتاح user_in_X على الإطلاق (نواة قديمة)، وليس كلما كانت القيمة المحلولة false.
هل افتراضاتي صحيح، أم لا يزال من المتوقع أن يوفر الإعداد المجموعات كنص؟
prefilled composer link ↩︎