]> nmode's Git Repositories - signal-cli/commitdiff
Update libsignal-service
authorAsamK <asamk@gmx.de>
Wed, 26 Jun 2024 13:35:54 +0000 (15:35 +0200)
committerAsamK <asamk@gmx.de>
Wed, 26 Jun 2024 13:38:55 +0000 (15:38 +0200)
graalvm-config-dir/reflect-config.json
lib/src/main/java/org/asamk/signal/manager/config/ServiceConfig.java
lib/src/main/java/org/asamk/signal/manager/helper/PinHelper.java
lib/src/main/java/org/asamk/signal/manager/internal/ManagerImpl.java
lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java
lib/src/main/java/org/asamk/signal/manager/util/AttachmentUtils.java
settings.gradle.kts

index e17f4f644ef78cddf0f195d375a0057447c26619..64efa057c5595c7eb19c0b2494828f208753ffa7 100644 (file)
   "allDeclaredFields":true,
   "allDeclaredMethods":true,
   "allDeclaredConstructors":true,
-  "methods":[{"name":"getAnnouncementGroup","parameterTypes":[] }, {"name":"getChangeNumber","parameterTypes":[] }, {"name":"getGiftBadges","parameterTypes":[] }, {"name":"getPaymentActivation","parameterTypes":[] }, {"name":"getPni","parameterTypes":[] }, {"name":"getSenderKey","parameterTypes":[] }, {"name":"getStorage","parameterTypes":[] }, {"name":"getStories","parameterTypes":[] }]
+  "methods":[{"name":"getAnnouncementGroup","parameterTypes":[] }, {"name":"getChangeNumber","parameterTypes":[] }, {"name":"getDeleteSync","parameterTypes":[] }, {"name":"getGiftBadges","parameterTypes":[] }, {"name":"getPaymentActivation","parameterTypes":[] }, {"name":"getPni","parameterTypes":[] }, {"name":"getSenderKey","parameterTypes":[] }, {"name":"getStorage","parameterTypes":[] }, {"name":"getStories","parameterTypes":[] }]
 },
 {
   "name":"org.whispersystems.signalservice.api.account.ChangePhoneNumberRequest",
index ea47b8a6797f3fde1f1a0a730efd1ae96461305d..e827e3f559de34f4873358eb44346a1d155a182d 100644 (file)
@@ -30,7 +30,16 @@ public class ServiceConfig {
         final var giftBadges = !isPrimaryDevice;
         final var pni = !isPrimaryDevice;
         final var paymentActivation = !isPrimaryDevice;
-        return new AccountAttributes.Capabilities(true, true, true, true, true, giftBadges, pni, paymentActivation);
+        final var deleteSync = !isPrimaryDevice;
+        return new AccountAttributes.Capabilities(true,
+                true,
+                true,
+                true,
+                true,
+                giftBadges,
+                pni,
+                paymentActivation,
+                deleteSync);
     }
 
     public static ServiceEnvironmentConfig getServiceEnvironmentConfig(
index 0bcfe09ee3559c8a9d19cc0a2b1d8ca05b5ede36..cb9b9057eb9b1f501341adc29a4653adbe47a32f 100644 (file)
@@ -105,7 +105,7 @@ public class PinHelper {
     public SecureValueRecovery.RestoreResponse.Success getRegistrationLockData(
             SecureValueRecovery secureValueRecovery, AuthCredentials authCredentials, String pin
     ) throws IOException, IncorrectPinException {
-        final var restoreResponse = secureValueRecovery.restoreDataPreRegistration(authCredentials, pin);
+        final var restoreResponse = secureValueRecovery.restoreDataPreRegistration(authCredentials, null, pin);
 
         switch (restoreResponse) {
             case SecureValueRecovery.RestoreResponse.Success s -> {
index 13785a949904f6a5661d193b8fbc391d6fea08f5..426429dac87e33a031ef6c1c0a4157cba2579c9a 100644 (file)
@@ -92,6 +92,7 @@ import org.signal.libsignal.usernames.BaseUsernameException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.whispersystems.signalservice.api.SignalSessionLock;
+import org.whispersystems.signalservice.api.messages.SignalServiceAttachment;
 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
 import org.whispersystems.signalservice.api.messages.SignalServicePreview;
 import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
@@ -738,17 +739,23 @@ public class ManagerImpl implements Manager {
     private void applyMessage(
             final SignalServiceDataMessage.Builder messageBuilder, final Message message
     ) throws AttachmentInvalidException, IOException, UnregisteredRecipientException, InvalidStickerException {
+        final var additionalAttachments = new ArrayList<SignalServiceAttachment>();
         if (message.messageText().length() > 2000) {
             final var messageBytes = message.messageText().getBytes(StandardCharsets.UTF_8);
             final var textAttachment = AttachmentUtils.createAttachmentStream(new StreamDetails(new ByteArrayInputStream(
                     messageBytes), MimeUtils.LONG_TEXT, messageBytes.length), Optional.empty());
             messageBuilder.withBody(message.messageText().substring(0, 2000));
-            messageBuilder.withAttachment(context.getAttachmentHelper().uploadAttachment(textAttachment));
+            additionalAttachments.add(context.getAttachmentHelper().uploadAttachment(textAttachment));
         } else {
             messageBuilder.withBody(message.messageText());
         }
         if (!message.attachments().isEmpty()) {
-            messageBuilder.withAttachments(context.getAttachmentHelper().uploadAttachments(message.attachments()));
+            if (!additionalAttachments.isEmpty()) {
+                additionalAttachments.addAll(context.getAttachmentHelper().uploadAttachments(message.attachments()));
+                messageBuilder.withAttachments(additionalAttachments);
+            } else {
+                messageBuilder.withAttachments(context.getAttachmentHelper().uploadAttachments(message.attachments()));
+            }
         }
         if (!message.mentions().isEmpty()) {
             messageBuilder.withMentions(resolveMentions(message.mentions()));
index a143fceb5876813981a34a36ff5b0546869319ae..feb61d1c2ebf2b113ee0e19a07f54e3ea6b24a0f 100644 (file)
@@ -197,8 +197,7 @@ public class SignalDependencies {
                         Optional.empty(),
                         executor,
                         ServiceConfig.MAX_ENVELOPE_SIZE,
-                        pushServiceSocket,
-                        false));
+                        pushServiceSocket));
     }
 
     public List<SecureValueRecovery> getSecureValueRecoveryV2() {
index 5126b6912f6ebdb07209e2dc7ba4a71cde556d23..d06d87459c8738e2de035d80876be68f98035e03 100644 (file)
@@ -9,6 +9,7 @@ import java.io.IOException;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Optional;
+import java.util.UUID;
 
 public class AttachmentUtils {
 
@@ -58,6 +59,7 @@ public class AttachmentUtils {
                 blurHash,
                 null,
                 null,
-                resumableUploadSpec);
+                resumableUploadSpec,
+                UUID.randomUUID());
     }
 }
index dd0e624404a74cde9ca47065974c47221b98a545..d185c4179c8d93ea37ec43bb7717880325364a8c 100644 (file)
@@ -15,7 +15,7 @@ dependencyResolutionManagement {
             library("slf4j.jul", "org.slf4j", "jul-to-slf4j").versionRef("slf4j")
             library("logback", "ch.qos.logback", "logback-classic").version("1.5.6")
 
-            library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_103")
+            library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_104")
             library("sqlite", "org.xerial", "sqlite-jdbc").version("3.46.0.0")
             library("hikari", "com.zaxxer", "HikariCP").version("5.1.0")
             library("junit.jupiter", "org.junit.jupiter", "junit-jupiter").version("5.10.2")