From: AsamK Date: Thu, 9 Sep 2021 16:54:48 +0000 (+0200) Subject: Catch ProofRequiredException from getPreKeys request and wrap in SendMessageResult X-Git-Tag: v0.9.0~12 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/a17262d9ff7379c4f1590a3669af52e7237144bb?ds=sidebyside Catch ProofRequiredException from getPreKeys request and wrap in SendMessageResult --- 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 6ebc0254..89e3eba2 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 @@ -22,6 +22,7 @@ import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage 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.UnregisteredUserException; import java.io.IOException; @@ -282,6 +283,8 @@ public class SendHelper { message, SignalServiceMessageSender.IndividualSendEvents.EMPTY); } + } catch (ProofRequiredException e) { + return SendMessageResult.proofRequiredFailure(address, e); } catch (org.whispersystems.signalservice.api.crypto.UntrustedIdentityException e) { return SendMessageResult.identityFailure(address, e.getIdentityKey()); } diff --git a/src/main/java/org/asamk/signal/util/ErrorUtils.java b/src/main/java/org/asamk/signal/util/ErrorUtils.java index 39e32198..ef1956c3 100644 --- a/src/main/java/org/asamk/signal/util/ErrorUtils.java +++ b/src/main/java/org/asamk/signal/util/ErrorUtils.java @@ -67,7 +67,7 @@ public class ErrorUtils { } else if (result.getProofRequiredFailure() != null) { final var failure = result.getProofRequiredFailure(); return String.format( - "CAPTCHA proof required for sending to \"%s\", available options \"%s\" with token \"%s\", or wait \"%d\" seconds", + "CAPTCHA proof required for sending to \"%s\", available options \"%s\" with challenge token \"%s\", or wait \"%d\" seconds", identifier, failure.getOptions() .stream()