]> nmode's Git Repositories - signal-cli/commitdiff
Catch ProofRequiredException from getPreKeys request and wrap in SendMessageResult
authorAsamK <asamk@gmx.de>
Thu, 9 Sep 2021 16:54:48 +0000 (18:54 +0200)
committerAsamK <asamk@gmx.de>
Thu, 9 Sep 2021 16:54:48 +0000 (18:54 +0200)
lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java
src/main/java/org/asamk/signal/util/ErrorUtils.java

index 6ebc02545b1c17a282818a68f36dcc71b90d27e0..89e3eba2a16f9aeb317e8d7565ece69b7414fab9 100644 (file)
@@ -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.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;
 import org.whispersystems.signalservice.api.push.exceptions.UnregisteredUserException;
 
 import java.io.IOException;
@@ -282,6 +283,8 @@ public class SendHelper {
                         message,
                         SignalServiceMessageSender.IndividualSendEvents.EMPTY);
             }
                         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());
         }
         } catch (org.whispersystems.signalservice.api.crypto.UntrustedIdentityException e) {
             return SendMessageResult.identityFailure(address, e.getIdentityKey());
         }
index 39e32198a06dfa3b93c005cfec6d4ed2eb30173f..ef1956c3f5ca72db7e426192a2b4eed972e12aa4 100644 (file)
@@ -67,7 +67,7 @@ public class ErrorUtils {
         } else if (result.getProofRequiredFailure() != null) {
             final var failure = result.getProofRequiredFailure();
             return String.format(
         } 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()
                     identifier,
                     failure.getOptions()
                             .stream()