Push-Benachrichtigungszeitfenster-Minuten können doppelt so lang sein

Da wir jetzt ENDLICH Push-Benachrichtigungen auf iOS PWA haben :tada: habe ich mir die Verzögerung angesehen, die angewendet wird, bevor eine Push-Benachrichtigung gesendet wird – da es länger als erwartet zu dauern schien.

Der Code prüft, ob ein Benutzer kürzlich online war (weniger als push_notification_time_window_mins Minuten her) und wenn ja, wird die Benachrichtigung um push_notification_time_window_mins verzögert.

      if user.seen_since?(SiteSetting.push_notification_time_window_mins.minutes.ago)
        Jobs.enqueue_in(
          SiteSetting.push_notification_time_window_mins.minutes,
          ...
        )
      else
        Jobs.enqueue(:send_push_notification, user_id: user.id, payload: payload)
      end

Aber das bedeutet, dass dies in der Praxis bis zu doppelt so lange dauern kann wie erwartet, da das push_notification_time_window_mins sowohl bei der Online-Prüfung als auch bei der Verzögerung angewendet wird.

Beispiel:

push_notification_time_window_mins ist auf 10 eingestellt

13:00
Ich verlasse die Seite
13:10
Etwas passiert, das eine Benachrichtigung auslöst.
Der Code prüft, ob ich weniger als 10 Minuten online war.
Ich war es, also wird die Benachrichtigung um 13:20 gesendet.

12:59
Ich verlasse die Seite
13:10
Etwas passiert, das eine Benachrichtigung auslöst.
Der Code prüft, ob ich weniger als 10 Minuten online war.
Ich war es nicht, also wird die Benachrichtigung sofort um 13:10 gesendet.

Ein Unterschied von einer Minute in meiner Online-Zeit kann also die Zustellung der Benachrichtigung um fast push_notification_time_window_mins ändern. Besonders wenn die Einstellung auf einen höheren Wert geändert wird, kann dies einen erheblichen Unterschied machen.

Ich würde erwarten, dass die Verzögerung push_notification_time_window_mins - (jetzt - seen_since) beträgt.

8 „Gefällt mir“

Das sollte es beheben

9 „Gefällt mir“

Dieses Thema wurde nach 3 Tagen automatisch geschlossen. Neue Antworten sind nicht mehr möglich.