From 3da3367291e3c534d0649c4484c589b26bacc243 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Thu, 10 Jun 2021 11:02:58 -0400 Subject: [PATCH] Ensure that multi-forwards have unique timestamps. --- .../org/thoughtcrime/securesms/sharing/MultiShareSender.java | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareSender.java b/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareSender.java index a74dfc13f7..fc5bc1081c 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareSender.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sharing/MultiShareSender.java @@ -10,6 +10,7 @@ import androidx.core.util.Consumer; import com.annimon.stream.Stream; +import org.signal.core.util.ThreadUtil; import org.signal.core.util.logging.Log; import org.thoughtcrime.securesms.TransportOption; import org.thoughtcrime.securesms.TransportOptions; @@ -92,6 +93,10 @@ public final class MultiShareSender { sendTextMessage(context, multiShareArgs, recipient, shareContactAndThread.getThreadId() ,forceSms, expiresIn, subscriptionId); results.add(new MultiShareSendResult(shareContactAndThread, MultiShareSendResult.Type.SUCCESS)); } + + // XXX We must do this to avoid sending out messages to the same recipient with the same + // sentTimestamp. If we do this, they'll be considered dupes by the receiver. + ThreadUtil.sleep(5); } return new MultiShareSendResultCollection(results);