]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/helper/PreKeyHelper.java
Ignore failure when uploading PNI prekeys
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / helper / PreKeyHelper.java
index a2b4dddef21c586a3193c2e15d3802ad894873e3..59ecf16019191be83fbed3ead56aa3e557cbbf05 100644 (file)
@@ -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;
     }