From e125fa6bfba95b126af105f03645eda8269fd42b Mon Sep 17 00:00:00 2001 From: Cody Henthorne Date: Fri, 27 Mar 2026 12:22:22 -0400 Subject: [PATCH] Fix deadlock when sending media to story and group chat simultaneously. --- .../securesms/sms/MessageSender.java | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java b/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java index 49d2b4ac1f..e7aed39478 100644 --- a/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java +++ b/app/src/main/java/org/thoughtcrime/securesms/sms/MessageSender.java @@ -425,14 +425,6 @@ public class MessageSender { } } - for (AttachmentId attachmentId : attachmentsWithPreuploadId) { - long messageId = SignalDatabase.attachments().getMessageId(attachmentId); - if (BackupRepository.shouldCopyAttachmentToArchive(attachmentId, messageId)) { - Log.i(TAG, "[" + attachmentId + "] Was previously preuploaded and should now be copied to the archive."); - jobManager.add(new CopyAttachmentToArchiveJob(attachmentId)); - } - } - onMessageSent(); mmsDatabase.setTransactionSuccessful(); } catch (MmsException e) { @@ -442,6 +434,14 @@ public class MessageSender { mmsDatabase.endTransaction(); } + for (AttachmentId attachmentId : attachmentsWithPreuploadId) { + long messageId = SignalDatabase.attachments().getMessageId(attachmentId); + if (BackupRepository.shouldCopyAttachmentToArchive(attachmentId, messageId)) { + Log.i(TAG, "[" + attachmentId + "] Was previously preuploaded and should now be copied to the archive."); + jobManager.add(new CopyAttachmentToArchiveJob(attachmentId)); + } + } + for (int i = 0; i < messageIds.size(); i++) { long messageId = messageIds.get(i); Recipient recipient = messages.get(i).getThreadRecipient();