From 126f18278f5e38b8023514eef4582b11b6731fd1 Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Thu, 9 Jul 2020 08:57:45 +1000 Subject: [PATCH] handle message sent success for opengroups events correctly --- js/models/messages.js | 25 ++++++++++++++----- .../session/LeftPaneMessageSection.tsx | 2 +- 2 files changed, 20 insertions(+), 7 deletions(-) diff --git a/js/models/messages.js b/js/models/messages.js index d9bd47690..5f714f83a 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -1210,14 +1210,23 @@ }, async handleMessageSentSuccess(sentMessage) { - const sentTo = this.get('sent_to') || []; + let sentTo = this.get('sent_to') || []; const isOurDevice = await window.libsession.Protocols.MultiDeviceProtocol.isOurDevice( sentMessage.device ); + const isOpenGroupMessage = + sentMessage.group && + sentMessage.group instanceof libsession.Types.OpenGroup; + // Handle the sync logic here - if (!isOurDevice && !this.get('synced') && !this.get('sentSync')) { + if ( + !isOurDevice && + !isOpenGroupMessage && + !this.get('synced') && + !this.get('sentSync') + ) { const contentDecoded = textsecure.protobuf.Content.decode( sentMessage.plainTextBuffer ); @@ -1228,11 +1237,15 @@ } else if (isOurDevice && this.get('sentSync')) { this.set({ synced: true }); } - const primaryPubKey = await libsession.Protocols.MultiDeviceProtocol.getPrimaryDevice( - sentMessage.device - ); + if (!isOpenGroupMessage) { + const primaryPubKey = await libsession.Protocols.MultiDeviceProtocol.getPrimaryDevice( + sentMessage.device + ); + sentTo = _.union(sentTo, [primaryPubKey.key]); + } + this.set({ - sent_to: _.union(sentTo, [primaryPubKey.key]), + sent_to: sentTo, sent: true, expirationStartTimestamp: Date.now(), // unidentifiedDeliveries: result.unidentifiedDeliveries, diff --git a/ts/components/session/LeftPaneMessageSection.tsx b/ts/components/session/LeftPaneMessageSection.tsx index 26f92bfd6..31a46fdc3 100644 --- a/ts/components/session/LeftPaneMessageSection.tsx +++ b/ts/components/session/LeftPaneMessageSection.tsx @@ -496,7 +496,7 @@ export class LeftPaneMessageSection extends React.Component { } finally { this.setState({ loading: false, - }); + }); } }