Prevent expiry timers from being sent to distribution lists.

This commit is contained in:
Alex Hart
2022-10-24 14:07:44 -03:00
committed by GitHub
parent 94f072c5aa
commit 428ab65d8a
2 changed files with 3 additions and 4 deletions

View File

@@ -313,7 +313,7 @@ public class RecipientUtil {
@WorkerThread
public static boolean setAndSendUniversalExpireTimerIfNecessary(@NonNull Context context, @NonNull Recipient recipient, long threadId) {
int defaultTimer = SignalStore.settings().getUniversalExpireTimer();
if (defaultTimer == 0 || recipient.isGroup() || recipient.getExpiresInSeconds() != 0 || !recipient.isRegistered()) {
if (defaultTimer == 0 || recipient.isGroup() || recipient.isDistributionList() || recipient.getExpiresInSeconds() != 0 || !recipient.isRegistered()) {
return false;
}

View File

@@ -153,9 +153,8 @@ public class MessageSender {
database.beginTransaction();
for (OutgoingSecureMediaMessage message : messages) {
long allocatedThreadId = threadDatabase.getOrCreateValidThreadId(message.getRecipient(), -1L, message.getDistributionType());
Recipient recipient = message.getRecipient();
long messageId = database.insertMessageOutbox(applyUniversalExpireTimerIfNecessary(context, recipient, message.stripAttachments(), allocatedThreadId), allocatedThreadId, false, insertListener);
long allocatedThreadId = threadDatabase.getOrCreateValidThreadId(message.getRecipient(), -1L, message.getDistributionType());
long messageId = database.insertMessageOutbox(message.stripAttachments(), allocatedThreadId, false, insertListener);
messageIds.add(messageId);
threads.add(allocatedThreadId);