From 1bd5b036367a4da60157ee99fb010edb02fbace3 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 15 Dec 2025 15:38:50 -0500 Subject: [PATCH] Ensure envelope model updates info from metadata. In practice this doesn't really matter because we don't read from it after this point, but good to be consistent. --- .../thoughtcrime/securesms/messages/MessageDecryptor.kt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageDecryptor.kt b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageDecryptor.kt index 3ba9264ffd..32adc67be5 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/messages/MessageDecryptor.kt +++ b/app/src/main/java/org/thoughtcrime/securesms/messages/MessageDecryptor.kt @@ -156,6 +156,15 @@ object MessageDecryptor { val cipherResult: SignalServiceCipherResult? = cipher.decrypt(envelope, serverDeliveredTimestamp) val endTimeNanos = System.nanoTime() + val envelope = if (cipherResult?.metadata?.sourceServiceId != null) { + envelope.newBuilder() + .sourceServiceId(cipherResult.metadata.sourceServiceId.toString()) + .sourceDevice(cipherResult.metadata.sourceDeviceId) + .build() + } else { + envelope + } + if (cipherResult == null) { Log.w(TAG, "${logPrefix(envelope)} Decryption resulted in a null result!", true) return Result.Ignore(envelope, serverDeliveredTimestamp, followUpOperations.toUnmodifiableList())