Add timeout of 10s to web push requests
p256dh: key_p256dh,
auth: key_auth,
ttl: ttl,
+ ssl_timeout: 10,
+ open_timeout: 10,
+ read_timeout: 10,
vapid: {
subject: "mailto:#{::Setting.site_contact_email}",
private_key: Rails.configuration.x.vapid_private_key,
notification = Notification.find(notification_id)
subscription.push(notification) unless notification.activity.nil?
- rescue Webpush::InvalidSubscription, Webpush::ExpiredSubscription
- subscription.destroy!
+ rescue Webpush::ResponseError => e
+ subscription.destroy! if (400..499).cover?(e.response.code.to_i)
rescue ActiveRecord::RecordNotFound
true
end