إشعارات "يجب الموافقة على المستخدمين" يتم تشغيلها بشكل خاطئ للمستخدمين القدامى.

لاحظت نفس السلوك وأعتقد أنني اكتشفت سبب حدوث ذلك (وليس سبب عدم ظهور هؤلاء المستخدمين في قائمة المراجعة ولكن سبب عدم الموافقة عليهم على الإطلاق):

كما أفهم الكود [1] عندما تقوم بتمكين ‘must_approve_users’، يجب الموافقة على معظم المستخدمين الذين تم إنشاؤهم قبل تمكين الإعداد:

نجح هذا مع معظم مستخدمي، ولكن لم يتم تمييز البعض على أنهم موافق عليهم.

استعلام مستكشف البيانات
SELECT
  id as UserID, approved
FROM
  users
ORDER BY id
UserID Approved
1 true
3 true
8 true
10 false
11 false
12 false
13 true

عندما تنظر إلى جدول reviewables، يمكنك ملاحظة أن المستخدمين الذين لديهم معرف مستخدم مطابق لمعرف الهدف لرسالة دردشة لم تتم الموافقة عليهم.

استعلام مستكشف البيانات
SELECT id, target_id, target_type
FROM reviewables
ORDER BY target_id
id target_id target_type
6 9 ChatMessage
7 10 ChatMessage
8 11 ChatMessage
9 12 ChatMessage
1 2901 Post
2 2909 Post
5 2991 Post

أعتقد أنها مشكلة أن المستخدمين لا تتم الموافقة عليهم عندما يكون هناك معرف هدف مطابق له نوع هدف غير ‘user’.


  1. ليس لدي سوى القليل من مهارات البرمجة ↩︎

3 إعجابات