]> nmode's Git Repositories - signal-cli/commitdiff
Update libsignal-service-java
authorAsamK <asamk@gmx.de>
Sun, 16 Apr 2023 19:18:54 +0000 (21:18 +0200)
committerAsamK <asamk@gmx.de>
Sun, 16 Apr 2023 19:19:17 +0000 (21:19 +0200)
lib/src/main/java/org/asamk/signal/manager/helper/SendHelper.java
settings.gradle.kts
src/main/java/org/asamk/signal/commands/FinishLinkCommand.java

index 0f4d035ddfa4f5491a34418c15f5a403544c5f2f..886c84f996fdf8953298068cfed032d732b7f62d 100644 (file)
@@ -345,29 +345,41 @@ public class SendHelper {
                 },
                 () -> false,
                 urgent);
-        final SenderKeySenderHandler senderKeySender = (distId, recipients, unidentifiedAccess, isRecipientUpdate) -> {
-            final var res = messageSender.sendGroupDataMessage(distId,
-                    recipients,
-                    unidentifiedAccess,
-                    isRecipientUpdate,
-                    contentHint,
-                    message,
-                    SignalServiceMessageSender.SenderKeyGroupEvents.EMPTY,
-                    urgent,
-                    false);
-            synchronized (entryId) {
-                if (entryId.get() == -1) {
-                    final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
-                            res,
-                            contentHint,
-                            urgent);
-                    entryId.set(newId);
-                } else {
-                    messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), res);
-                }
-            }
-            return res;
-        };
+        final SenderKeySenderHandler senderKeySender = (distId, recipients, unidentifiedAccess, isRecipientUpdate) -> messageSender.sendGroupDataMessage(
+                distId,
+                recipients,
+                unidentifiedAccess,
+                isRecipientUpdate,
+                contentHint,
+                message,
+                SignalServiceMessageSender.SenderKeyGroupEvents.EMPTY,
+                urgent,
+                false,
+                sendResult -> {
+                    logger.trace("Partial message send results: {}", sendResult.size());
+                    synchronized (entryId) {
+                        if (entryId.get() == -1) {
+                            final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
+                                    sendResult,
+                                    contentHint,
+                                    urgent);
+                            entryId.set(newId);
+                        } else {
+                            messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), sendResult);
+                        }
+                    }
+                    synchronized (entryId) {
+                        if (entryId.get() == -1) {
+                            final var newId = messageSendLogStore.insertIfPossible(message.getTimestamp(),
+                                    sendResult,
+                                    contentHint,
+                                    urgent);
+                            entryId.set(newId);
+                        } else {
+                            messageSendLogStore.addRecipientToExistingEntryIfPossible(entryId.get(), sendResult);
+                        }
+                    }
+                });
         final var results = sendGroupMessageInternal(legacySender, senderKeySender, recipientIds, distributionId);
 
         for (var r : results) {
index cade6fe9ab1d70ad62ca9406b44da7c4097606fd..a4c2cc51e7ee988db2621ffe529f9d079a69867c 100644 (file)
@@ -16,7 +16,7 @@ dependencyResolutionManagement {
             library("logback", "ch.qos.logback", "logback-classic").version("1.4.6")
 
 
-            library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_68")
+            library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_69")
             library("protobuf", "com.google.protobuf", "protobuf-javalite").version("3.22.2")
             library("sqlite", "org.xerial", "sqlite-jdbc").version("3.41.2.1")
             library("hikari", "com.zaxxer", "HikariCP").version("5.0.1")
index f49de10349afa38ad5139fc636fe1751bbdaf0dd..d08520dfcfcbbcffdd8bd692dc834494f961c294 100644 (file)
@@ -55,7 +55,11 @@ public class FinishLinkCommand implements JsonRpcMultiCommand<FinishLinkCommand.
         } catch (TimeoutException e) {
             throw new UserErrorException("Link request timed out, please try again.");
         } catch (IOException e) {
-            throw new IOErrorException("Link request error: " + e.getMessage(), e);
+            throw new IOErrorException("Link request error: "
+                    + e.getMessage()
+                    + " ("
+                    + e.getClass().getSimpleName()
+                    + ")", e);
         } catch (UserAlreadyExistsException e) {
             throw new UserErrorException("The user "
                     + e.getNumber()