Fix web push subscriptions being deleted on rate limit or timeout (#11826)

This commit is contained in:
Eugen Rochko 2019-09-13 19:15:47 +02:00 committed by GitHub
parent 18331fefa2
commit e8703c281e
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -11,7 +11,13 @@ class Web::PushNotificationWorker
subscription.push(notification) unless notification.activity.nil? subscription.push(notification) unless notification.activity.nil?
rescue Webpush::ResponseError => e rescue Webpush::ResponseError => e
subscription.destroy! if (400..499).cover?(e.response.code.to_i) code = e.response.code.to_i
if (400..499).cover?(code) && ![408, 429].include?(code)
subscription.destroy!
else
raise e
end
rescue ActiveRecord::RecordNotFound rescue ActiveRecord::RecordNotFound
true true
end end