From: AsamK Date: Thu, 6 Oct 2022 15:52:06 +0000 (+0200) Subject: Show better error message when signal-cli version is outdated X-Git-Tag: v0.11.2~3 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/76c400d2c3d38382103ba640f4bd3fd0d129062f Show better error message when signal-cli version is outdated --- diff --git a/lib/src/main/java/org/asamk/signal/manager/SignalAccountFiles.java b/lib/src/main/java/org/asamk/signal/manager/SignalAccountFiles.java index 305b061d..9d0b344a 100644 --- a/lib/src/main/java/org/asamk/signal/manager/SignalAccountFiles.java +++ b/lib/src/main/java/org/asamk/signal/manager/SignalAccountFiles.java @@ -12,6 +12,7 @@ import org.asamk.signal.manager.util.KeyUtils; import org.signal.libsignal.protocol.util.KeyHelper; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.whispersystems.signalservice.api.push.exceptions.DeprecatedVersionException; import java.io.File; import java.io.IOException; @@ -114,6 +115,9 @@ public class SignalAccountFiles { try { manager.checkAccountState(); + } catch (DeprecatedVersionException e) { + manager.close(); + throw new AccountCheckException("signal-cli version is too old for the Signal-Server, please update."); } catch (IOException e) { manager.close(); throw new AccountCheckException("Error while checking account " + number + ": " + e.getMessage(), e); diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/AccountHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/AccountHelper.java index 99a0834e..ce45dd2c 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/AccountHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/AccountHelper.java @@ -18,6 +18,7 @@ import org.whispersystems.signalservice.api.push.ACI; import org.whispersystems.signalservice.api.push.PNI; import org.whispersystems.signalservice.api.push.SignedPreKeyEntity; import org.whispersystems.signalservice.api.push.exceptions.AuthorizationFailedException; +import org.whispersystems.signalservice.api.push.exceptions.DeprecatedVersionException; import org.whispersystems.signalservice.api.util.DeviceNameUtil; import org.whispersystems.signalservice.internal.push.OutgoingPushMessage; @@ -73,6 +74,9 @@ public class AccountHelper { && account.getRegistrationLockPin() != null) { migrateRegistrationPin(); } + } catch (DeprecatedVersionException e) { + logger.debug("Signal-Server returned deprecated version exception", e); + throw e; } catch (AuthorizationFailedException e) { account.setRegistered(false); throw e;