From 10b9c264fde52bee3d7b61578683e6e547d7cfc7 Mon Sep 17 00:00:00 2001 From: AsamK Date: Thu, 6 Jun 2024 09:37:01 +0200 Subject: [PATCH] Update libsignal-service Fixes #1530 --- graalvm-config-dir/reflect-config.json | 3 +++ .../org/asamk/signal/manager/helper/GroupHelper.java | 11 +++++------ .../signal/manager/internal/SignalDependencies.java | 8 +++----- settings.gradle.kts | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index dec3312e..e17f4f64 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -203,6 +203,9 @@ "name":"java.lang.Class", "methods":[{"name":"getPermittedSubclasses","parameterTypes":[] }, {"name":"getRecordComponents","parameterTypes":[] }, {"name":"isRecord","parameterTypes":[] }, {"name":"isSealed","parameterTypes":[] }] }, +{ + "name":"java.lang.ClassValue" +}, { "name":"java.lang.Comparable", "allDeclaredMethods":true diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java index 8f7b2869..c0ca3871 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/GroupHelper.java @@ -38,7 +38,7 @@ import org.signal.storageservice.protos.groups.local.DecryptedGroupChange; import org.signal.storageservice.protos.groups.local.DecryptedGroupJoinInfo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.whispersystems.signalservice.api.groupsv2.DecryptedGroupHistoryEntry; +import org.whispersystems.signalservice.api.groupsv2.DecryptedGroupChangeLog; import org.whispersystems.signalservice.api.groupsv2.GroupLinkNotActiveException; import org.whispersystems.signalservice.api.messages.SignalServiceAttachment; import org.whispersystems.signalservice.api.messages.SignalServiceAttachmentStream; @@ -482,11 +482,10 @@ public class GroupHelper { final var newProfileKeys = new HashMap(); while (true) { final var page = context.getGroupV2Helper().getDecryptedGroupHistoryPage(groupSecretParams, fromRevision); - page.getResults() + page.getChangeLogs() .stream() - .map(DecryptedGroupHistoryEntry::getChange) - .filter(Optional::isPresent) - .map(Optional::get) + .map(DecryptedGroupChangeLog::getChange) + .filter(Objects::nonNull) .map(context.getGroupV2Helper()::getAuthoritativeProfileKeyFromChange) .filter(Objects::nonNull) .forEach(p -> { @@ -495,7 +494,7 @@ public class GroupHelper { final var recipientId = account.getRecipientResolver().resolveRecipient(serviceId); newProfileKeys.put(recipientId, profileKey); }); - if (!page.getPagingData().hasMorePages()) { + if (!page.getPagingData().getHasMorePages()) { break; } fromRevision = page.getPagingData().getNextPageRevision(); diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java b/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java index b495466b..a143fceb 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/SignalDependencies.java @@ -23,7 +23,6 @@ import org.whispersystems.signalservice.api.util.CredentialsProvider; import org.whispersystems.signalservice.api.util.UptimeSleepTimer; import org.whispersystems.signalservice.api.websocket.WebSocketFactory; import org.whispersystems.signalservice.internal.push.PushServiceSocket; -import org.whispersystems.signalservice.internal.websocket.LibSignalNetwork; import org.whispersystems.signalservice.internal.websocket.OkHttpWebSocketConnection; import org.whispersystems.signalservice.internal.websocket.WebSocketConnection; @@ -51,7 +50,7 @@ public class SignalDependencies { private ClientZkOperations clientZkOperations; private PushServiceSocket pushServiceSocket; - private LibSignalNetwork libSignalNetwork; + private Network libSignalNetwork; private SignalWebSocket signalWebSocket; private SignalServiceMessageReceiver messageReceiver; private SignalServiceMessageSender messageSender; @@ -108,10 +107,9 @@ public class SignalDependencies { ServiceConfig.AUTOMATIC_NETWORK_RETRY)); } - public LibSignalNetwork getLibSignalNetwork() { + public Network getLibSignalNetwork() { return getOrCreate(() -> libSignalNetwork, - () -> libSignalNetwork = new LibSignalNetwork(new Network(serviceEnvironmentConfig.netEnvironment(), - userAgent), serviceEnvironmentConfig.signalServiceConfiguration())); + () -> libSignalNetwork = new Network(serviceEnvironmentConfig.netEnvironment(), userAgent)); } public SignalServiceAccountManager getAccountManager() { diff --git a/settings.gradle.kts b/settings.gradle.kts index 3210a55d..dd0e6244 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -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_102") + library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_103") 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") -- 2.50.1