]> nmode's Git Repositories - signal-cli/commitdiff
Store number/uuid in recipient store after receiving a message
authorAsamK <asamk@gmx.de>
Fri, 22 May 2020 10:30:36 +0000 (12:30 +0200)
committerAsamK <asamk@gmx.de>
Fri, 22 May 2020 10:32:36 +0000 (12:32 +0200)
Necessary to find the correct session if the sender send the next message
with only the uuid.

Fixes #309

src/main/java/org/asamk/signal/manager/Manager.java

index b88e1a9f45d9d756d81fdf2701a895c9d251173e..81f870cd635af1d300f7fabf49ca1129632eaf82 100644 (file)
@@ -1411,6 +1411,11 @@ public class Manager implements Closeable {
                 System.err.println("Ignoring error: " + e.getMessage());
                 continue;
             }
+            if (envelope.hasSource()) {
+                // Store uuid if we don't have it already
+                SignalServiceAddress source = envelope.getSourceAddress();
+                resolveSignalServiceAddress(source);
+            }
             if (!envelope.isReceipt()) {
                 try {
                     content = decryptMessage(envelope);
@@ -1472,6 +1477,9 @@ public class Manager implements Closeable {
             } else {
                 sender = content.getSender();
             }
+            // Store uuid if we don't have it already
+            resolveSignalServiceAddress(sender);
+
             if (content.getDataMessage().isPresent()) {
                 SignalServiceDataMessage message = content.getDataMessage().get();