From: AsamK Date: Thu, 20 Jul 2023 18:58:49 +0000 (+0200) Subject: Update libsignal-service X-Git-Tag: v0.12.0~17 X-Git-Url: https://git.nmode.ca/signal-cli/commitdiff_plain/409a707baabd4a61293b8796a7f60f68501edafb?hp=86f50e03550683fb5213f690a6591341df38a312 Update libsignal-service --- diff --git a/graalvm-config-dir/reflect-config.json b/graalvm-config-dir/reflect-config.json index 2c1fe0f0..676be954 100644 --- a/graalvm-config-dir/reflect-config.json +++ b/graalvm-config-dir/reflect-config.json @@ -2577,7 +2577,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote", - "fields":[{"name":"attachments_"}, {"name":"authorUuid_"}, {"name":"bitField0_"}, {"name":"bodyRanges_"}, {"name":"id_"}, {"name":"text_"}, {"name":"type_"}] + "fields":[{"name":"attachments_"}, {"name":"authorAci_"}, {"name":"authorUuid_"}, {"name":"bitField0_"}, {"name":"bodyRanges_"}, {"name":"id_"}, {"name":"text_"}, {"name":"type_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Quote$QuotedAttachment", @@ -2585,7 +2585,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Reaction", - "fields":[{"name":"bitField0_"}, {"name":"emoji_"}, {"name":"remove_"}, {"name":"targetAuthorUuid_"}, {"name":"targetSentTimestamp_"}] + "fields":[{"name":"bitField0_"}, {"name":"emoji_"}, {"name":"remove_"}, {"name":"targetAuthorAci_"}, {"name":"targetAuthorUuid_"}, {"name":"targetSentTimestamp_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$DataMessage$Sticker", @@ -2601,7 +2601,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$Envelope", - "fields":[{"name":"bitField0_"}, {"name":"content_"}, {"name":"destinationUuid_"}, {"name":"reportingToken_"}, {"name":"serverGuid_"}, {"name":"serverTimestamp_"}, {"name":"sourceDevice_"}, {"name":"sourceUuid_"}, {"name":"story_"}, {"name":"timestamp_"}, {"name":"type_"}, {"name":"updatedPni_"}, {"name":"urgent_"}] + "fields":[{"name":"bitField0_"}, {"name":"content_"}, {"name":"destinationServiceId_"}, {"name":"destinationUuid_"}, {"name":"reportingToken_"}, {"name":"serverGuid_"}, {"name":"serverTimestamp_"}, {"name":"sourceDevice_"}, {"name":"sourceServiceId_"}, {"name":"sourceUuid_"}, {"name":"story_"}, {"name":"timestamp_"}, {"name":"type_"}, {"name":"updatedPni_"}, {"name":"urgent_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$GroupContext", @@ -2657,7 +2657,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage", - "fields":[{"name":"bitField0_"}, {"name":"blocked_"}, {"name":"callEvent_"}, {"name":"callLinkUpdate_"}, {"name":"configuration_"}, {"name":"contacts_"}, {"name":"fetchLatest_"}, {"name":"groups_"}, {"name":"keys_"}, {"name":"messageRequestResponse_"}, {"name":"outgoingPayment_"}, {"name":"padding_"}, {"name":"pniChangeNumber_"}, {"name":"read_"}, {"name":"request_"}, {"name":"sent_"}, {"name":"stickerPackOperation_"}, {"name":"verified_"}, {"name":"viewOnceOpen_"}, {"name":"viewed_"}] + "fields":[{"name":"bitField0_"}, {"name":"blocked_"}, {"name":"callEvent_"}, {"name":"callLinkUpdate_"}, {"name":"callLogEvent_"}, {"name":"configuration_"}, {"name":"contacts_"}, {"name":"fetchLatest_"}, {"name":"groups_"}, {"name":"keys_"}, {"name":"messageRequestResponse_"}, {"name":"outgoingPayment_"}, {"name":"padding_"}, {"name":"pniChangeNumber_"}, {"name":"read_"}, {"name":"request_"}, {"name":"sent_"}, {"name":"stickerPackOperation_"}, {"name":"verified_"}, {"name":"viewOnceOpen_"}, {"name":"viewed_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Blocked", @@ -2701,7 +2701,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Read", - "fields":[{"name":"bitField0_"}, {"name":"senderUuid_"}, {"name":"timestamp_"}] + "fields":[{"name":"bitField0_"}, {"name":"senderAci_"}, {"name":"senderUuid_"}, {"name":"timestamp_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Request", @@ -2709,7 +2709,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent", - "fields":[{"name":"bitField0_"}, {"name":"destinationE164_"}, {"name":"destinationUuid_"}, {"name":"editMessage_"}, {"name":"expirationStartTimestamp_"}, {"name":"isRecipientUpdate_"}, {"name":"message_"}, {"name":"storyMessageRecipients_"}, {"name":"storyMessage_"}, {"name":"timestamp_"}, {"name":"unidentifiedStatus_"}] + "fields":[{"name":"bitField0_"}, {"name":"destinationE164_"}, {"name":"destinationServiceId_"}, {"name":"destinationUuid_"}, {"name":"editMessage_"}, {"name":"expirationStartTimestamp_"}, {"name":"isRecipientUpdate_"}, {"name":"message_"}, {"name":"storyMessageRecipients_"}, {"name":"storyMessage_"}, {"name":"timestamp_"}, {"name":"unidentifiedStatus_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent$StoryMessageRecipient", @@ -2717,7 +2717,7 @@ }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$Sent$UnidentifiedDeliveryStatus", - "fields":[{"name":"bitField0_"}, {"name":"destinationUuid_"}, {"name":"unidentified_"}] + "fields":[{"name":"bitField0_"}, {"name":"destinationServiceId_"}, {"name":"destinationUuid_"}, {"name":"unidentified_"}] }, { "name":"org.whispersystems.signalservice.internal.push.SignalServiceProtos$SyncMessage$StickerPackOperation", diff --git a/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java b/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java index 9cc34aba..1ba25af6 100644 --- a/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java +++ b/lib/src/main/java/org/asamk/signal/manager/api/MessageEnvelope.java @@ -708,7 +708,9 @@ public record MessageEnvelope( Optional hangup, Optional busy, List iceUpdate, - Optional opaque + Optional opaque, + boolean isMultiRing, + boolean isUrgent ) { public static Call from(final SignalServiceCallMessage callMessage) { @@ -722,7 +724,9 @@ public record MessageEnvelope( callMessage.getIceUpdateMessages() .map(m -> m.stream().map(IceUpdate::from).toList()) .orElse(List.of()), - callMessage.getOpaqueMessage().map(Opaque::from)); + callMessage.getOpaqueMessage().map(Opaque::from), + callMessage.isMultiRing(), + callMessage.isUrgent()); } public record Offer(long id, String sdp, Type type, byte[] opaque) { @@ -895,7 +899,7 @@ public record MessageEnvelope( final AttachmentFileProvider fileProvider, Exception exception ) { - final var source = !envelope.isUnidentifiedSender() && envelope.hasSourceUuid() + final var source = !envelope.isUnidentifiedSender() && envelope.hasSourceServiceId() ? recipientResolver.resolveRecipient(envelope.getSourceAddress()) : envelope.isUnidentifiedSender() && content != null ? recipientResolver.resolveRecipient(content.getSender()) diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java b/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java index 0692a06e..b45f21d3 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/IncomingMessageHandler.java @@ -137,7 +137,7 @@ public final class IncomingMessageHandler { final Manager.ReceiveMessageHandler handler ) { final var actions = new ArrayList(); - if (envelope.hasSourceUuid()) { + if (envelope.hasSourceServiceId()) { // Store uuid if we don't have it already // address/uuid in envelope is sent by server account.getRecipientTrustedResolver().resolveRecipientTrusted(envelope.getSourceAddress()); @@ -960,7 +960,7 @@ public final class IncomingMessageHandler { } private SignalServiceAddress getSenderAddress(SignalServiceEnvelope envelope, SignalServiceContent content) { - if (!envelope.isUnidentifiedSender() && envelope.hasSourceUuid()) { + if (!envelope.isUnidentifiedSender() && envelope.hasSourceServiceId()) { return envelope.getSourceAddress(); } else if (content != null) { return content.getSender(); @@ -970,7 +970,7 @@ public final class IncomingMessageHandler { } private DeviceAddress getSender(SignalServiceEnvelope envelope, SignalServiceContent content) { - if (!envelope.isUnidentifiedSender() && envelope.hasSourceUuid()) { + if (!envelope.isUnidentifiedSender() && envelope.hasSourceServiceId()) { return new DeviceAddress(context.getRecipientHelper().resolveRecipient(envelope.getSourceAddress()), envelope.getSourceAddress().getServiceId(), envelope.getSourceDevice()); @@ -985,7 +985,7 @@ public final class IncomingMessageHandler { if (!envelope.hasDestinationUuid()) { return new DeviceAddress(account.getSelfRecipientId(), account.getAci(), account.getDeviceId()); } - final var addressOptional = SignalServiceAddress.fromRaw(envelope.getDestinationUuid(), null); + final var addressOptional = SignalServiceAddress.fromRaw(envelope.getDestinationServiceId(), null); if (addressOptional.isEmpty()) { return new DeviceAddress(account.getSelfRecipientId(), account.getAci(), account.getDeviceId()); } diff --git a/lib/src/main/java/org/asamk/signal/manager/helper/ReceiveHelper.java b/lib/src/main/java/org/asamk/signal/manager/helper/ReceiveHelper.java index 3d4ca38d..55c93e57 100644 --- a/lib/src/main/java/org/asamk/signal/manager/helper/ReceiveHelper.java +++ b/lib/src/main/java/org/asamk/signal/manager/helper/ReceiveHelper.java @@ -147,7 +147,7 @@ public class ReceiveHelper { for (final var it : batch) { SignalServiceEnvelope envelope1 = new SignalServiceEnvelope(it.getEnvelope(), it.getServerDeliveredTimestamp()); - final var recipientId = envelope1.hasSourceUuid() ? account.getRecipientResolver() + final var recipientId = envelope1.hasSourceServiceId() ? account.getRecipientResolver() .resolveRecipient(envelope1.getSourceAddress()) : null; logger.trace("Storing new message from {}", recipientId); // store message on disk, before acknowledging receipt to the server @@ -226,7 +226,7 @@ public class ReceiveHelper { if (exception instanceof UntrustedIdentityException) { logger.debug("Keeping message with untrusted identity in message cache"); final var address = ((UntrustedIdentityException) exception).getSender(); - if (!envelope.hasSourceUuid() && address.uuid().isPresent()) { + if (!envelope.hasSourceServiceId() && address.uuid().isPresent()) { final var recipientId = account.getRecipientResolver() .resolveRecipient(ServiceId.from(address.uuid().get())); try { @@ -273,7 +273,7 @@ public class ReceiveHelper { cachedMessage.delete(); return null; } - if (!envelope.hasSourceUuid()) { + if (!envelope.hasSourceServiceId()) { final var identifier = ((UntrustedIdentityException) exception).getSender(); final var recipientId = account.getRecipientResolver() .resolveRecipient(new RecipientAddress(identifier)); diff --git a/lib/src/main/java/org/asamk/signal/manager/internal/SignalWebSocketHealthMonitor.java b/lib/src/main/java/org/asamk/signal/manager/internal/SignalWebSocketHealthMonitor.java index f4ac35e2..0986d62e 100644 --- a/lib/src/main/java/org/asamk/signal/manager/internal/SignalWebSocketHealthMonitor.java +++ b/lib/src/main/java/org/asamk/signal/manager/internal/SignalWebSocketHealthMonitor.java @@ -25,7 +25,7 @@ final class SignalWebSocketHealthMonitor implements HealthMonitor { private final static Logger logger = LoggerFactory.getLogger(SignalWebSocketHealthMonitor.class); - private static final long KEEP_ALIVE_SEND_CADENCE = TimeUnit.SECONDS.toMillis(WebSocketConnection.KEEPALIVE_TIMEOUT_SECONDS); + private static final long KEEP_ALIVE_SEND_CADENCE = TimeUnit.SECONDS.toMillis(WebSocketConnection.KEEPALIVE_FREQUENCY_SECONDS); private static final long MAX_TIME_SINCE_SUCCESSFUL_KEEP_ALIVE = KEEP_ALIVE_SEND_CADENCE * 3; private SignalWebSocket signalWebSocket; diff --git a/settings.gradle.kts b/settings.gradle.kts index f0f4e936..941d9ce0 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -16,7 +16,7 @@ dependencyResolutionManagement { library("logback", "ch.qos.logback", "logback-classic").version("1.4.8") - library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_75") + library("signalservice", "com.github.turasa", "signal-service-java").version("2.15.3_unofficial_76") library("protobuf", "com.google.protobuf", "protobuf-javalite").version("3.23.0") library("sqlite", "org.xerial", "sqlite-jdbc").version("3.42.0.0") library("hikari", "com.zaxxer", "HikariCP").version("5.0.1")