From: AsamK Date: Sun, 11 Jun 2023 15:47:48 +0000 (+0200) Subject: Add support for invalid pre key failure when sending message X-Git-Tag: v0.12.0~31 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/0c5993c0adde6b64206ba4f328a5b74e296791f3?ds=inline Add support for invalid pre key failure when sending message --- diff --git a/lib/src/main/java/org/asamk/signal/manager/api/SendMessageResult.java b/lib/src/main/java/org/asamk/signal/manager/api/SendMessageResult.java index 1507390b..4158b60e 100644 --- a/lib/src/main/java/org/asamk/signal/manager/api/SendMessageResult.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/SendMessageResult.java @@ -2,7 +2,6 @@ package org.asamk.signal.manager.api; import org.asamk.signal.manager.helper.RecipientAddressResolver; import org.asamk.signal.manager.storage.recipients.RecipientResolver; -import org.signal.libsignal.protocol.IdentityKey; public record SendMessageResult( RecipientAddress address, @@ -11,29 +10,12 @@ public record SendMessageResult( boolean isUnregisteredFailure, boolean isIdentityFailure, boolean isRateLimitFailure, - ProofRequiredException proofRequiredFailure + ProofRequiredException proofRequiredFailure, + boolean isInvalidPreKeyFailure ) { - public static SendMessageResult success(RecipientAddress address) { - return new SendMessageResult(address, true, false, false, false, false, null); - } - - public static SendMessageResult networkFailure(RecipientAddress address) { - return new SendMessageResult(address, false, true, false, false, false, null); - } - public static SendMessageResult unregisteredFailure(RecipientAddress address) { - return new SendMessageResult(address, false, false, true, false, false, null); - } - - public static SendMessageResult identityFailure(RecipientAddress address, IdentityKey identityKey) { - return new SendMessageResult(address, false, false, false, true, false, null); - } - - public static SendMessageResult proofRequiredFailure( - RecipientAddress address, ProofRequiredException proofRequiredException - ) { - return new SendMessageResult(address, false, true, false, false, false, proofRequiredException); + return new SendMessageResult(address, false, false, true, false, false, null, false); } public static SendMessageResult from( @@ -50,6 +32,7 @@ public record SendMessageResult( sendMessageResult.getRateLimitFailure() != null || sendMessageResult.getProofRequiredFailure() != null, sendMessageResult.getProofRequiredFailure() == null ? null - : new ProofRequiredException(sendMessageResult.getProofRequiredFailure())); + : new ProofRequiredException(sendMessageResult.getProofRequiredFailure()), + sendMessageResult.isInvalidPreKeyFailure()); } } diff --git a/src/main/java/org/asamk/signal/json/JsonSendMessageResult.java b/src/main/java/org/asamk/signal/json/JsonSendMessageResult.java index 13b953fc..f9ca8f86 100644 --- a/src/main/java/org/asamk/signal/json/JsonSendMessageResult.java +++ b/src/main/java/org/asamk/signal/json/JsonSendMessageResult.java @@ -28,7 +28,9 @@ public record JsonSendMessageResult( ? Type.NETWORK_FAILURE : result.isUnregisteredFailure() ? Type.UNREGISTERED_FAILURE - : Type.IDENTITY_FAILURE, + : result.isInvalidPreKeyFailure() + ? Type.INVALID_PRE_KEY_FAILURE + : Type.IDENTITY_FAILURE, result.proofRequiredFailure() != null ? result.proofRequiredFailure().getToken() : null, result.proofRequiredFailure() != null ? result.proofRequiredFailure().getRetryAfterSeconds() : null); } @@ -39,5 +41,6 @@ public record JsonSendMessageResult( UNREGISTERED_FAILURE, IDENTITY_FAILURE, RATE_LIMIT_FAILURE, + INVALID_PRE_KEY_FAILURE, } }