From e796f6bacdd9ff3f526f7956a4f7d4d478ee6665 Mon Sep 17 00:00:00 2001 From: Niels Andriesse Date: Tue, 13 Jul 2021 09:46:41 +1000 Subject: [PATCH] Don't retry message send jobs when rate limited --- SessionMessagingKit/Jobs/MessageSendJob.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/SessionMessagingKit/Jobs/MessageSendJob.swift b/SessionMessagingKit/Jobs/MessageSendJob.swift index aed0268a1..6c23359ae 100644 --- a/SessionMessagingKit/Jobs/MessageSendJob.swift +++ b/SessionMessagingKit/Jobs/MessageSendJob.swift @@ -1,4 +1,5 @@ import SessionUtilitiesKit +import SessionSnodeKit @objc(SNMessageSendJob) public final class MessageSendJob : NSObject, Job, NSCoding { // NSObject/NSCoding conformance is needed for YapDatabase compatibility @@ -96,7 +97,10 @@ public final class MessageSendJob : NSObject, Job, NSCoding { // NSObject/NSCodi SNLog("Couldn't send message due to error: \(error).") if let error = error as? MessageSender.Error, !error.isRetryable { self.handlePermanentFailure(error: error) - } else { + } else if let error = error as? OnionRequestAPI.Error, case .httpRequestFailedAtDestination(let statusCode, _) = error, + statusCode == 429 { // Rate limited + self.handlePermanentFailure(error: error) + } else { self.handleFailure(error: error) } }