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

lolsob-rspec
Eugen Rochko 2019-09-13 19:15:47 +02:00 committed by GitHub
parent 8824964836
commit a5e34d5ff8
1 changed files with 7 additions and 1 deletions

View File

@ -11,7 +11,13 @@ class Web::PushNotificationWorker
subscription.push(notification) unless notification.activity.nil?
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
true
end