Fix web push subscriptions being deleted on rate limit or timeout (#11826)
This commit is contained in:
		
							parent
							
								
									8824964836
								
							
						
					
					
						commit
						a5e34d5ff8
					
				
					 1 changed files with 7 additions and 1 deletions
				
			
		|  | @ -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 | ||||
|  |  | |||
		Loading…
	
		Reference in a new issue