Notificaciones siendo regeneradas al revisar acciones

Ok, esta es una historia extraña en una versión anterior, pero esperaba que alguien tuviera algunos consejos o tal vez una experiencia similar.

Tenemos un foro (en la versión 2.4.5 debido a una dependencia de un plugin personalizado) donde los usuarios se quejan de notificaciones duplicadas. A veces, las notificaciones se regeneran días después de que ocurrió un evento y después de que un usuario las ha visto (y hecho clic en ellas) varias veces: en la interfaz de Discourse (no en la aplicación, ni en el navegador).

Publicaciones de un tema:

 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

Notificaciones para este usuario en este tema:

   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

Como pueden ver, se generó una notificación de respuesta para el mensaje #7 más de 3,5 días después de que se realizó la respuesta.

Al buscar en los registros de acceso para averiguar qué ocurrió a las 21:11:44, vimos que este usuario estaba navegando por su Perfil - Actividad - Respuestas (/user_actions.json?username=redacted&filter=5&offset=240) en ese segundo exacto.

Parece casi como si navegar por esas respuestas hubiera regenerado la notificación.

Los plugins relevantes son onesignal y push-notifications.

¿Alguien tiene alguna idea?

EDITO: un día después, la notificación para el mensaje #7 se ha regenerado:

   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

Esto me suena vagamente a un error que corregimos en algún momento. Difícil de decir.

Hmm, los plugins relevantes son onesignal, push-notifications y follow.

@outofthebox Creo que esto está relacionado:

El usuario que creó la publicación (usuario #15356) y que genera la notificación para el usuario que la recibe repetidamente (usuario #956) es:

  • sigue al usuario que recibe la notificación
  • es seguido por un usuario que no existe (usuario #16229)

:

 select user_id, name, value from user_custom_fields where user_id=15356;
 user_id |     name     |         value          
---------+--------------+------------------------
   15356 | followers    | 16229 --> este usuario no existe
   15356 | following    | 56,0
   15356 | following    | 956,0 --> el usuario que recibe la notificación

¿Así que esto es otra instancia del error del complemento de seguimiento?

No estoy seguro (todavía), parece un poco diferente, pero por otro lado hay muchas cosas en común.