From 62fc96c4c9fe2e43d355b02fa1d44884e42ab689 Mon Sep 17 00:00:00 2001 From: AsamK Date: Fri, 3 Apr 2026 11:20:46 +0200 Subject: [PATCH] Handle MustRequestNewCodeException Fixes #1968 --- .../asamk/signal/manager/internal/RegistrationManagerImpl.java | 3 +++ 1 file changed, 3 insertions(+) diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/RegistrationManagerImpl.java b/lib/src/main/java/org/asamk/signal/manager/internal/RegistrationManagerImpl.java index ee1cd096..e90bb154 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/RegistrationManagerImpl.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/RegistrationManagerImpl.java @@ -45,6 +45,7 @@ import org.whispersystems.signalservice.api.push.ServiceIdType; import org.whispersystems.signalservice.api.push.SignalServiceAddress; import org.whispersystems.signalservice.api.push.exceptions.AlreadyVerifiedException; import org.whispersystems.signalservice.api.push.exceptions.DeprecatedVersionException; +import org.whispersystems.signalservice.api.push.exceptions.MustRequestNewCodeException; import org.whispersystems.signalservice.api.svr.SecureValueRecovery; import org.whispersystems.signalservice.internal.push.VerifyAccountResponse; @@ -262,6 +263,8 @@ public class RegistrationManagerImpl implements RegistrationManager { final var registrationApi = unauthenticatedAccountManager.getRegistrationApi(); try { handleResponseException(registrationApi.verifyAccount(sessionId, verificationCode)); + } catch (MustRequestNewCodeException e) { + throw new IOException("Verification code expired, please request a new one by registering again.", e); } catch (AlreadyVerifiedException e) { // Already verified so can continue registering }