From: AsamK Date: Fri, 10 Sep 2021 15:48:44 +0000 (+0200) Subject: Convert RateLimitException to a network failure send message result X-Git-Tag: v0.9.0~7 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/74e576c907d7af5581203887f8c154baff80b798 Convert RateLimitException to a network failure send message result --- diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java index 89e3eba2..7b37f205 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java @@ -23,6 +23,7 @@ import org.whispersystems.signalservice.api.messages.SignalServiceTypingMessage; import org.whispersystems.signalservice.api.messages.multidevice.SentTranscriptMessage; import org.whispersystems.signalservice.api.messages.multidevice.SignalServiceSyncMessage; import org.whispersystems.signalservice.api.push.exceptions.ProofRequiredException; +import org.whispersystems.signalservice.api.push.exceptions.RateLimitException; import org.whispersystems.signalservice.api.push.exceptions.UnregisteredUserException; import java.io.IOException; @@ -285,6 +286,9 @@ public class SendHelper { } } catch (ProofRequiredException e) { return SendMessageResult.proofRequiredFailure(address, e); + } catch (RateLimitException e) { + logger.warn("Sending failed due to rate limiting from the signal server: {}", e.getMessage()); + return SendMessageResult.networkFailure(address); } catch (org.whispersystems.signalservice.api.crypto.UntrustedIdentityException e) { return SendMessageResult.identityFailure(address, e.getIdentityKey()); }