يتم تطبيق فحص “مراجعة الوسائط” (إعداد الموقع skip_review_media_groups) فقط عند إنشاء المنشور، في NewPostManager. تمر التعديلات عبر PostRevisor، الذي لا يقوم أبدًا بتشغيل فحص الوسائط. لذلك، يمكن للمستخدم نشر نص عادي أولاً (لتمرير المراجعة)، ثم إضافة صور عبر تعديل — ولا يدخل المنشور مطلقًا في قائمة الانتظار للمراجعة.
وأشد من ذلك، إذا حدث التعديل خلال editing_grace_period (الفترة الافتراضية 5 دقائق) وكان الفرق أقل من editing_grace_period_max_diff (الحد الأقصى الافتراضي 100 حرف — سطر واحد لوسائط Markdown لصور مرفوعة هو ~40–60 حرفًا)، فإن التعديل لا ينشئ أي سجل مراجعة ولا أيقونة قلم رصاص، لذا يكون التجاوز غير مرئي تمامًا في واجهة المستخدم.
خطوات إعادة الإنتاج
قم بتكوين skip_review_media_groups بحيث لا تكون المجموعات العادية (مثل TL0/TL1) معفاة — يجب أن تتطلب المنشورات التي تحتوي على وسائط موافقة.
بصفتك مستخدمًا عاديًا، أنشئ منشورًا يحتوي على نص فقط. يتم الموافقة عليه/نشره بشكل طبيعي (لا يوجد وسائط → لا توجد مراجعة).
خلال فترة السماح، عدّل المنشور وأدرج صورة مرفوعة.
المتوقع
يجب إرسال المنشور (الذي يحتوي الآن على وسائط) إلى قائمة الانتظار للمراجعة، أو على الأقل يخضع التعديل لنفس فحص الوسائط كما هو الحال عند إنشاء المنشور.
الفعلي
يتم نشر المنشور مع الصورة ولا يدخل مطلقًا في قائمة الانتظار للمراجعة.
لا يتم إنشاء سجل مراجعة، ولا يتم عرض مؤشر التعديل.
PostRevisor — لا يوجد فحص وسائط مكافئ عند التعديل.
الحل المقترح
تشغيل فحص contains_media في PostRevisor أيضًا (عندما يقدم التعديل وسائط والمحرر ليس ضمن skip_review_media_groups / ليس من الموظفين)، وإدراج ReviewablePost في قائمة الانتظار للمنشور المعدل.
حاولت نشر هذا الطلب التقديمي (PR) ولاحظت عدم تناسق في آليات مراجعة الوسائط بين المشاركات الجديدة والتعديلات، وأود طرح هذه المشكلة:
المشاركات الجديدة التي تحتوي على وسائط — ReviewableQueuedPost (مراجعة قبل النشر)
لا يتم إنشاء المشاركة على الإطلاق؛ تظل المحتوى في حمولة قابلة للمراجعة حتى يتم الموافقة عليها
يرى المؤلف قسم “بانتظار الموافقة” (pending_posts) في صفحة الموضوع
لا تصبح المشاركة مرئية للجميع إلا بعد موافقة المشرف عليها (perform_approve_post → PostCreator)
في حالة الرفض، يتم تجاهل المحتوى — فهو لم يكن عامًا أبدًا
التعديلات التي تضيف وسائط — ReviewablePost (نشر أولاً، ثم مراجعة بعد ذلك)
تدخل التعديلة حيز التنفيذ فورًا؛ النسخة الجديدة (بما في ذلك الصورة) تصبح مرئية للجميع على الفور
لا يوجد إشعار “قيد المراجعة” للمؤلف — وللتعديلات خلال فترة السماح، لا يوجد حتى مراجعة، لذا لا يترك المحتوى الأصلي أي أثر في واجهة المستخدم
في حالة الرفض، يتم حذف المشاركة (perform_reject_and_delete)، ويمكن استعادتها عبر النسخة السابقة
مصدر القلق
مع النهج الحالي، تصبح الصورةproblematic مرئية للعامة قبل أن يتخذ أي مشرف إجراء، وربما لفترة طويلة تعتمد على سرعة المراجعة. يبدو أن هذا يضعف الهدف الأساسي من skip_review_media_groups — حيث تنص وصف الإعداد على أن المشاركات التي تحتوي على وسائط “تُرسَل إلى الموظفين للمراجعة”، مما يوحي بأنها لا ينبغي أن تكون عامة في هذه الأثناء.
تحسينات محتملة
وضع المحتوى المعدل في قائمة الانتظار بدلاً من تطبيقه. (أعتقد أن هذا أفضل) عندما يقدم تعديل جديد وسائط، اترك المشاركة دون تغيير، وأعلم المؤلف بأن التعديل الجديد قيد المراجعة، وقم بتطبيق المحتوى المعدل على المشاركة فقط بعد موافقة المشرف عليها — وتجاهله في حالة الرفض. هذا يعكس سلوك المشاركات الجديدة بأقرب ما يمكن. (من الناحية التنفيذية، سيتطلب هذا متغيرًا قابلاً للمراجعة يؤدي عملية revise على المشاركة الموجودة بدلاً من إنشاء واحدة جديدة.)
إخفاء المشاركة عندما يقدم تعديل جديد وسائط، بحيث يراها المؤلف فقط مع إشعار “بانتظار الموافقة”، واستخدام الإجراء الموجود perform_approve_and_unhide عند الموافقة — حيث تدعم إجراءات ReviewablePost هذا بالفعل.