From 3231f8302c4df31ce67979735ed435085d6efa98 Mon Sep 17 00:00:00 2001 From: Greyson Parrelli Date: Mon, 3 Apr 2023 11:14:41 -0400 Subject: [PATCH] Do not add dependencies on previous message sends if you have no media. This was an accidental carry-over from the PushMediaSendJob -> IndividualSendJob rename. Previously, PushMediaSendJob basically always had media, so this check wasn't needed. Now it rarely has media, so we have to add it. --- .../thoughtcrime/securesms/jobs/IndividualSendJob.java | 9 +++++++-- .../thoughtcrime/securesms/jobs/PushGroupSendJob.java | 7 ++++++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java index 86ab3cd00f..c3319c3a41 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/IndividualSendJob.java @@ -106,9 +106,14 @@ public class IndividualSendJob extends PushSendJob { ApplicationDependencies.getScheduledMessageManager().scheduleIfNecessary(); return; } - Set attachmentUploadIds = enqueueCompressingAndUploadAttachmentsChains(jobManager, message); - jobManager.add(IndividualSendJob.create(messageId, recipient, attachmentUploadIds.size() > 0, isScheduledSend), attachmentUploadIds, isScheduledSend ? null : recipient.getId().toQueueKey()); + Set attachmentUploadIds = enqueueCompressingAndUploadAttachmentsChains(jobManager, message); + boolean hasMedia = attachmentUploadIds.size() > 0; + boolean addHardDependencies = hasMedia && !isScheduledSend; + + jobManager.add(IndividualSendJob.create(messageId, recipient, hasMedia, isScheduledSend), + attachmentUploadIds, + addHardDependencies ? recipient.getId().toQueueKey() : null); } catch (NoSuchMessageException | MmsException e) { Log.w(TAG, "Failed to enqueue message.", e); SignalDatabase.messages().markAsSentFailed(messageId); diff --git a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java index 72635027a9..285f30c78a 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java +++ b/app/src/main/java/org/thoughtcrime/securesms/jobs/PushGroupSendJob.java @@ -136,7 +136,12 @@ public final class PushGroupSendJob extends PushSendJob { throw new MmsException("Inactive group!"); } - jobManager.add(new PushGroupSendJob(messageId, destination, filterAddresses, !attachmentUploadIds.isEmpty(), isScheduledSend), attachmentUploadIds, attachmentUploadIds.isEmpty() || isScheduledSend ? null : destination.toQueueKey()); + boolean hasMedia = attachmentUploadIds.size() > 0; + boolean addHardDependencies = hasMedia && !isScheduledSend; + + jobManager.add(new PushGroupSendJob(messageId, destination, filterAddresses, hasMedia, isScheduledSend), + attachmentUploadIds, + addHardDependencies ? destination.toQueueKey() : null); } catch (NoSuchMessageException | MmsException e) { Log.w(TAG, "Failed to enqueue message.", e);