diff --git a/js/background.js b/js/background.js index fffb75917..ea2d0627f 100644 --- a/js/background.js +++ b/js/background.js @@ -860,20 +860,18 @@ ); const { expireTimer } = details; const isValidExpireTimer = typeof expireTimer === 'number'; - if (!isValidExpireTimer) { - return; + if (isValidExpireTimer) { + const source = textsecure.storage.user.getNumber(); + const receivedAt = Date.now(); + + await conversation.updateExpirationTimer( + expireTimer, + source, + receivedAt, + { fromSync: true } + ); } - const source = textsecure.storage.user.getNumber(); - const receivedAt = Date.now(); - - await conversation.updateExpirationTimer( - expireTimer, - source, - receivedAt, - { fromSync: true } - ); - if (details.verified) { const { verified } = details; const verifiedEvent = new Event('verified'); @@ -885,8 +883,6 @@ verifiedEvent.viaContactSync = true; await onVerified(verifiedEvent); } - - ev.confirm(); } catch (error) { window.log.error('onContactReceived error:', Errors.toLogFormat(error)); } diff --git a/libtextsecure/message_receiver.js b/libtextsecure/message_receiver.js index aa23fcecd..aa3e77a72 100644 --- a/libtextsecure/message_receiver.js +++ b/libtextsecure/message_receiver.js @@ -814,7 +814,6 @@ MessageReceiver.prototype.extend({ let contactDetails = contactBuffer.next(); while (contactDetails !== undefined) { const ev = new Event('contact'); - ev.confirm = this.removeFromCache.bind(this, envelope); ev.contactDetails = contactDetails; results.push(this.dispatchAndWait(ev)); @@ -822,10 +821,12 @@ MessageReceiver.prototype.extend({ } const ev = new Event('contactsync'); - ev.confirm = this.removeFromCache.bind(this, envelope); results.push(this.dispatchAndWait(ev)); - return Promise.all(results); + return Promise.all(results).then(() => { + window.log.info('handleContacts: finished'); + return this.removeFromCache(envelope); + }); }); }, handleGroups(envelope, groups) {