From e1d7bc5587ea0d82a9ac9ec27fa88464f2dde751 Mon Sep 17 00:00:00 2001 From: AsamK Date: Fri, 18 Sep 2026 22:21:39 +0200 Subject: [PATCH 1/2] Return actual error of NonSuccess request result --- .../manager/api/BadRequestException.java | 19 +++++++++++++++++++ .../org/asamk/signal/manager/util/Utils.java | 5 +++-- 2 files changed, 22 insertions(+), 2 deletions(-) create mode 100644 lib/src/main/java/org/asamk/signal/manager/api/BadRequestException.java diff --git a/lib/src/main/java/org/asamk/signal/manager/api/BadRequestException.java b/lib/src/main/java/org/asamk/signal/manager/api/BadRequestException.java new file mode 100644 index 00000000..bffd9f11 --- /dev/null +++ b/lib/src/main/java/org/asamk/signal/manager/api/BadRequestException.java @@ -0,0 +1,19 @@ +package org.asamk.signal.manager.api; + +import org.signal.libsignal.net.BadRequestError; + +import java.io.IOException; + +public class BadRequestException extends IOException { + + private final BadRequestError error; + + public BadRequestException(final BadRequestError error) { + super(error.toString()); + this.error = error; + } + + public BadRequestError getError() { + return error; + } +} diff --git a/lib/src/main/java/org/asamk/signal/manager/util/Utils.java b/lib/src/main/java/org/asamk/signal/manager/util/Utils.java index 27ba298b..674b0ab1 100644 --- a/lib/src/main/java/org/asamk/signal/manager/util/Utils.java +++ b/lib/src/main/java/org/asamk/signal/manager/util/Utils.java @@ -1,5 +1,6 @@ package org.asamk.signal.manager.util; +import org.asamk.signal.manager.api.BadRequestException; import org.asamk.signal.manager.api.Pair; import org.signal.core.models.ServiceId; import org.signal.libsignal.net.BadRequestError; @@ -194,8 +195,8 @@ public class Utils { } } else if (result instanceof RequestResult.RetryableNetworkError e) { throw e.getNetworkError(); - } else if (result instanceof RequestResult.NonSuccess) { - throw new AssertionError(); + } else if (result instanceof RequestResult.NonSuccess e) { + throw new BadRequestException(e.getError()); } throw new IllegalStateException("Unexpected value: " + result); } From 60649041c8e3b37dbf559bbf1a2d832119cdb2ba Mon Sep 17 00:00:00 2001 From: nimble-turtle Date: Sun, 20 Sep 2026 00:35:55 -0700 Subject: [PATCH 2/2] man: link prints a QR code itself, don't point at qrencode first (#2126) --- man/signal-cli.1.adoc | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/man/signal-cli.1.adoc b/man/signal-cli.1.adoc index 26fac479..9e4d922e 100644 --- a/man/signal-cli.1.adoc +++ b/man/signal-cli.1.adoc @@ -247,7 +247,8 @@ Remove the registration lock pin. Link to an existing device, instead of registering a new number. This shows a "sgnl://linkdevice?uuid=..." URI. If you want to connect to another signal-cli instance, you can just use this URI. -If you want to link to an Android/iOS device, create a QR code with the URI (e.g. with qrencode) and scan that in the Signal app. +If you want to link to an Android/iOS device, scan the QR code that signal-cli prints in the terminal with the Signal app. +If signal-cli is not running in a terminal, only the URI is printed and you can create a QR code from it yourself (e.g. with qrencode). *-n* NAME, *--name* NAME:: Optionally specify a name to describe this new device.