From: AsamK Date: Sun, 25 Feb 2024 16:46:09 +0000 (+0100) Subject: Ignore failure when uploading PNI prekeys X-Git-Tag: v0.13.1~13 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/c9002d94811c487dcba4ab06849d010a87fd767c Ignore failure when uploading PNI prekeys Can happen if PNI identity key hasn't been sent to the server yet. --- diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java index a2b4ddde..59ecf160 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java @@ -14,6 +14,7 @@ import org.slf4j.LoggerFactory; import org.whispersystems.signalservice.api.account.PreKeyUpload; import org.whispersystems.signalservice.api.push.ServiceIdType; import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException; +import org.whispersystems.signalservice.api.push.exceptions.NonSuccessfulResponseCodeException; import org.whispersystems.signalservice.internal.push.OneTimePreKeyCounts; import java.io.IOException; @@ -171,6 +172,11 @@ public class PreKeyHelper { } catch (AuthorizationFailedException e) { // This can happen when the primary device has changed phone number logger.warn("Failed to updated pre keys: {}", e.getMessage()); + } catch (NonSuccessfulResponseCodeException e) { + if (serviceIdType != ServiceIdType.PNI || e.getCode() != 422) { + throw e; + } + logger.warn("Failed to update PNI pre keys, ignoring."); } return needsReset; }