From 2a26f4af5044b7a9cf0be0994d2cf7f6061af9fd Mon Sep 17 00:00:00 2001 From: Audric Ackermann Date: Wed, 8 Jul 2020 09:04:06 +1000 Subject: [PATCH] trigger send of expiretimer message ongroupupdate or groupInfo --- js/models/conversations.js | 30 ++++++++++++++++++++++++++++-- js/models/messages.js | 2 +- 2 files changed, 29 insertions(+), 3 deletions(-) diff --git a/js/models/conversations.js b/js/models/conversations.js index 06f490fdb..36edf6e87 100644 --- a/js/models/conversations.js +++ b/js/models/conversations.js @@ -1868,9 +1868,20 @@ ); await this.sendClosedGroupMessageWithSync(groupUpdateMessage, recipients); + + const expireUpdate = { + timestamp: Date.now(), + expireTimer: this.get('expireTimer'), + groupId: this.get('id'), + }; + + const expirationTimerMessage = new libsession.Messages.Outgoing.ExpirationTimerUpdateMessage( + expireUpdate + ); + await libsession.getMessageQueue().sendToGroup(expirationTimerMessage); }, - sendGroupInfo(recipient) { + async sendGroupInfo(recipient) { // Only send group info if we're a closed group and we haven't left if (this.isClosedGroup() && !this.get('left')) { const updateParams = { @@ -1889,10 +1900,25 @@ window.console.warn('sendGroupInfo invalid pubkey:', recipient); return; } - libsession + await libsession .getMessageQueue() .send(recipientPubKey, groupUpdateMessage) .catch(log.error); + + const expireUpdate = { + timestamp: Date.now(), + expireTimer: this.get('expireTimer'), + groupId: this.get('id'), + }; + + const expirationTimerMessage = new libsession.Messages.Outgoing.ExpirationTimerUpdateMessage( + expireUpdate + ); + + await libsession + .getMessageQueue() + .sendUsingMultiDevice(recipientPubKey, expirationTimerMessage) + .catch(log.error); } }, diff --git a/js/models/messages.js b/js/models/messages.js index 561c4af70..d9bd47690 100644 --- a/js/models/messages.js +++ b/js/models/messages.js @@ -1096,7 +1096,7 @@ attachments, preview, quote, - lokiProfile: this.getOurProfile(), + lokiProfile: this.conversation.getOurProfile(), }); // Special-case the self-send case - we send only a sync message