]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java
Add workaround for #1045
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / helper / IncomingMessageHandler.java
index 69ad65f7bfa74459c189416003c4c49c0a156fe2..80cf76870063f11afac653b5707be39ef161ceeb 100644 (file)
@@ -144,7 +144,14 @@ public final class IncomingMessageHandler {
                 } else {
                     final var senderProfile = context.getProfileHelper().getRecipientProfile(sender);
                     final var selfProfile = context.getProfileHelper().getSelfProfile();
-                    final var serviceId = ServiceId.parseOrNull(e.getSender());
+                    var serviceId = ServiceId.parseOrNull(e.getSender());
+                    if (serviceId == null) {
+                        // Workaround for libsignal-client issue #492
+                        serviceId = account.getRecipientAddressResolver()
+                                .resolveRecipientAddress(sender)
+                                .serviceId()
+                                .orElse(null);
+                    }
                     if (serviceId != null) {
                         final var isSelf = sender.equals(account.getSelfRecipientId())
                                 && e.getSenderDevice() == account.getDeviceId();