mirror of
https://github.com/discourse/discourse.git
synced 2025-02-25 18:55:32 -06:00
FIX: Push notification delay should not be longer than specified (#20864)
When user.last_seen was less than push_notification_time_window_mins we where delaying the notification for the whole push_notification_time_window_mins PLUS the time the user was away from. Originally reported in https://meta.discourse.org/t/-/259688
This commit is contained in:
committed by
GitHub
parent
f8720a20f9
commit
2a7bdb2d66
@@ -55,12 +55,9 @@ class PostAlerter
|
||||
|
||||
if user.push_subscriptions.exists?
|
||||
if user.seen_since?(SiteSetting.push_notification_time_window_mins.minutes.ago)
|
||||
Jobs.enqueue_in(
|
||||
SiteSetting.push_notification_time_window_mins.minutes,
|
||||
:send_push_notification,
|
||||
user_id: user.id,
|
||||
payload: payload,
|
||||
)
|
||||
delay =
|
||||
(SiteSetting.push_notification_time_window_mins - (Time.now - user.last_seen_at) / 60)
|
||||
Jobs.enqueue_in(delay.minutes, :send_push_notification, user_id: user.id, payload: payload)
|
||||
else
|
||||
Jobs.enqueue(:send_push_notification, user_id: user.id, payload: payload)
|
||||
end
|
||||
|
||||
Reference in New Issue
Block a user