Benachrichtigungen werden durch Durchsuchen von Aktionen neu generiert

Okay, das ist eine seltsame Geschichte in einer älteren Version, aber ich hatte gehofft, dass jemand vielleicht Hinweise hat oder eine ähnliche Erfahrung gemacht hat.

Wir haben ein Forum (auf Version 2.4.5 wegen einer Abhängigkeit von einem maßgeschneiderten Plugin), in dem sich Benutzer über doppelte Benachrichtigungen beschweren. Manchmal werden Benachrichtigungen Tage nach einem Ereignis neu generiert, und zwar nachdem ein Benutzer diese Benachrichtigungen bereits mehrfach gesehen (und angeklickt) hat – in der Discourse-Benutzeroberfläche (nicht in der App, nicht im Browser).

Beiträge zu einem Thema:

 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

Benachrichtigungen für diesen Benutzer zu diesem Thema:

   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

Wie man sieht, wurde eine Antwortbenachrichtigung für Beitrag #7 mehr als 3,5 Tage nach der Antwort generiert.

Beim Durchsuchen der Zugriffslogs, um herauszufinden, was um 21:11:44 Uhr passiert ist, sahen wir, dass dieser Benutzer genau in dieser Sekunde durch sein Profil – Aktivität – Antworten (/user_actions.json?username=redacted&filter=5&offset=240) navigierte.

Es scheint fast so, als ob das Durchsuchen dieser Antworten die Benachrichtigung neu generiert hat.

Relevante Plugins sind onesignal und push-notifications.

Hat jemand eine Irgendeine Idee?

EDIT einen Tag später wurde die Benachrichtigung für Beitrag #7 erneut generiert:

   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
1 „Gefällt mir“

Das klingt für mich vage nach einem Fehler, den wir irgendwann behoben haben? Schwer zu sagen.

2 „Gefällt mir“

Hmm, relevante Plugins sind onesignal, push-notifications und follow.

@outofthebox Ich denke, das hängt damit zusammen:

Der Benutzer, der den Beitrag erstellt hat (Benutzer #15356) und der die Benachrichtigung an den Benutzer auslöst, der wiederholt die Benachrichtigung erhält (Benutzer #956), ist:

  • dem Benutzer, der die Benachrichtigung erhält, gefolgt
  • von einem Benutzer gefolgt, der nicht existiert (Benutzer #16229)

:

 select user_id, name, value from user_custom_fields where user_id=15356;
 user_id |     name     |         value          
---------+--------------+------------------------
   15356 | followers    | 16229 --> dieser Benutzer existiert nicht
   15356 | following    | 56,0
   15356 | following    | 956,0 --> der Benutzer, der die Benachrichtigung erhält
2 „Gefällt mir“

Ist das also ein weiteres Beispiel für den Follow-Plugin-Fehler?

Ich bin mir (noch) nicht sicher, es scheint etwas anders zu sein, aber andererseits gibt es viele Gemeinsamkeiten.

2 „Gefällt mir“