diff --git a/js/models/conversations.js b/js/models/conversations.js index 72721939d..0fe7403a7 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -749,6 +749,15 @@ }, sendMessage(body, attachments, quote) { + const destination = this.id; + const expireTimer = this.get('expireTimer'); + const recipients = this.getRecipients(); + + let profileKey; + if (this.get('profileSharing')) { + profileKey = storage.get('profileKey'); + } + this.queueJob(async () => { const now = Date.now(); @@ -762,18 +771,18 @@ const messageWithSchema = await upgradeMessageSchema({ type: 'outgoing', body, - conversationId: this.id, + conversationId: destination, quote, attachments, sent_at: now, received_at: now, - expireTimer: this.get('expireTimer'), - recipients: this.getRecipients(), + expireTimer, + recipients, }); const message = this.addSingleMessage(messageWithSchema); if (this.isPrivate()) { - message.set({ destination: this.id }); + message.set({ destination }); } message.save(); @@ -797,22 +806,17 @@ } })(); - let profileKey; - if (this.get('profileSharing')) { - profileKey = storage.get('profileKey'); - } - const attachmentsWithData = await Promise.all( messageWithSchema.attachments.map(loadAttachmentData) ); message.send( sendFunction( - this.get('id'), + destination, body, attachmentsWithData, quote, now, - this.get('expireTimer'), + expireTimer, profileKey ) );