إعادة إنشاء الإشعارات من خلال مراجعة الإجراءات

حسنًا، هذه قصة غريبة تتعلق بإصدار أقدم، لكنني كنت آمل أن يكون لدى شخص ما بعض التوجيهات أو ربما تجربة مشابهة.

لدينا منتدى (يعمل على الإصدار 2.4.5 بسبب اعتماد على مكون إضافي مخصص) حيث يشتكي المستخدمون من إشعارات مكررة. أحيانًا يتم إعادة إنشاء الإشعارات بعد أيام من وقوع الحدث، وبعد أن يكون المستخدم قد شاهد هذه الإشعارات (ونقر عليها) عدة مرات - في واجهة مستخدم Discourse (وليس في التطبيق، ولا في المتصفح).

منشورات لموضوع معين:

 post_number |         created_at         
-------------+----------------------------
           1 | 2020-06-22 17:06:42.531868
           2 | 2020-06-23 00:11:07.159579
           3 | 2020-06-24 00:35:06.000641
           4 | 2020-06-25 00:17:16.998622
           5 | 2020-06-29 00:00:39.712988
           6 | 2020-06-29 01:03:20.137653
           7 | 2020-06-29 01:32:45.604947

الإشعارات لهذا المستخدم حول هذا الموضوع:

   id    | notification_type | user_id |         created_at         | topic_id | post_number 
---------+-------------------+---------+----------------------------+----------+-------------
 1125345 |                 5 |     956 | 2020-06-24 21:45:21.521173 |    39247 |           3
 1133280 |                 5 |     956 | 2020-06-29 01:27:32.242212 |    39247 |           6
 1140349 |                 2 |     956 | 2020-07-02 21:11:44.843782 |    39247 |           7

كما ترون، تم إنشاء إشعار رد للمنشور رقم 7 بعد أكثر من 3.5 أيام من إجراء الرد.

عند البحث في سجلات الوصول لمعرفة ما حدث في الساعة 21:11:44، لاحظنا أن هذا المستخدم كان يتصفح ملفه الشخصي - النشاط - الردود (/user_actions.json?username=redacted&filter=5&offset=240) في تلك الدقيقة بالتحديد.

يبدو تقريبًا أن تصفح تلك الردود أعاد إنشاء الإشعار.

المكونات الإضافية ذات الصلة هي onesignal و push-notifications.

هل لدى أي شخص أي فكرة؟

تعديل بعد يوم: تم إعادة إنشاء إشعار المنشور رقم 7:

   id    | notification_type | user_id |         created_at         | topic_id | post_number 
---------+-------------------+---------+----------------------------+----------+-------------
 1125345 |                 5 |     956 | 2020-06-24 21:45:21.521173 |    39247 |           3
 1133280 |                 5 |     956 | 2020-06-29 01:27:32.242212 |    39247 |           6
 1141684 |                 2 |     956 | 2020-07-04 02:23:12.188685 |    39247 |           7

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

حسناً، الإضافات ذات الصلة هي onesignal و push-notifications و follow.

@outofthebox أعتقد أن هذا الأمر مرتبط بذلك

المستخدم الذي أنشأ المنشور (المستخدم #15356) والذي يتسبب في إرسال إشعار متكرر للمستخدم المستلم للإشعار (المستخدم #956) هو:

  • يتابع المستخدم المستلم للإشعار
  • يتابعه مستخدم غير موجود (المستخدم #16229)

:

 select user_id, name, value from user_custom_fields where user_id=15356;
 user_id |     name     |         value          
---------+--------------+------------------------
   15356 | followers    | 16229 -- هذا المستخدم غير موجود
   15356 | following    | 56,0
   15356 | following    | 956,0 -- المستخدم المستلم للإشعار

إذن، هل هذه حالة أخرى من خطأ إضافة المتابعة؟

أنا لست متأكدًا (بعد)، يبدو الأمر مختلفًا قليلاً، ولكن من ناحية أخرى هناك الكثير من القواسم المشتركة.