From ba30dc57c2c9b0f91bc6564eeaa9f11872c65b63 Mon Sep 17 00:00:00 2001 From: warrickct Date: Wed, 23 Feb 2022 14:08:34 +1100 Subject: [PATCH] Adding conditional to prevent adding multiple approval sync messages for the acceptor of the request. --- ts/receiver/configMessage.ts | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/ts/receiver/configMessage.ts b/ts/receiver/configMessage.ts index e4ecf7600..d2894f537 100644 --- a/ts/receiver/configMessage.ts +++ b/ts/receiver/configMessage.ts @@ -141,18 +141,20 @@ const handleContactReceived = async ( } if (contactReceived.isApproved === true) { - // checking for existence of field on protobuf - await contactConvo.setIsApproved(Boolean(contactReceived.isApproved)); - // TODO: add message search in convo for pre-existing msgRequestResponse msg only happens once per convo - await contactConvo.addSingleOutgoingMessage({ - sent_at: _.toNumber(envelope.timestamp), - messageRequestResponse: { - isApproved: 1, - }, - unread: 1, // 1 means unread - expireTimer: 0, - }); - contactConvo.updateLastMessage(); + if (!contactConvo.isApproved()) { + // checking for existence of field on protobuf + await contactConvo.setIsApproved(Boolean(contactReceived.isApproved)); + // TODO: add message search in convo for pre-existing msgRequestResponse msg only happens once per convo + await contactConvo.addSingleOutgoingMessage({ + sent_at: _.toNumber(envelope.timestamp), + messageRequestResponse: { + isApproved: 1, + }, + unread: 1, // 1 means unread + expireTimer: 0, + }); + contactConvo.updateLastMessage(); + } if (contactReceived.didApproveMe === true) { // checking for existence of field on message