diff options
Diffstat (limited to 'app/workers')
-rw-r--r-- | app/workers/web_push_notification_worker.rb | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/app/workers/web_push_notification_worker.rb b/app/workers/web_push_notification_worker.rb index 0568a3e02..e8f1d72bd 100644 --- a/app/workers/web_push_notification_worker.rb +++ b/app/workers/web_push_notification_worker.rb @@ -9,7 +9,7 @@ class WebPushNotificationWorker recipient = Account.find(recipient_id) notification = Notification.find(notification_id) - sessions_with_subscriptions = recipient.user.session_activations.reject { |session| session.web_push_subscription.nil? } + sessions_with_subscriptions = recipient.user.session_activations.where.not(web_push_subscription: nil) sessions_with_subscriptions.each do |session| begin @@ -17,8 +17,7 @@ class WebPushNotificationWorker rescue Webpush::InvalidSubscription, Webpush::ExpiredSubscription # Subscription expiration is not currently implemented in any browser session.web_push_subscription.destroy! - session.web_push_subscription = nil - session.save! + session.update!(web_push_subscription: nil) rescue Webpush::PayloadTooLarge => e Rails.logger.error(e) end |