From 33d13439749cbfa0a9016be7e75b6be00d071dd2 Mon Sep 17 00:00:00 2001 From: Daniel Lugo Date: Mon, 27 Jan 2020 14:48:05 -0400 Subject: [PATCH] prevent race condition --- services/gunDB/contact-api/events.js | 17 ++++++++--------- 1 file changed, 8 insertions(+), 9 deletions(-) diff --git a/services/gunDB/contact-api/events.js b/services/gunDB/contact-api/events.js index 864c9c02..0513e195 100644 --- a/services/gunDB/contact-api/events.js +++ b/services/gunDB/contact-api/events.js @@ -577,17 +577,16 @@ const onChats = (cb, gun, user, SEA) => { await Utils.asyncForEach(Object.values(outgoings), async outgoing => { const recipientPK = outgoing.with const incomingID = await Getters.userToIncomingID(recipientPK) + const didDisconnect = + !!incomingID && (await Utils.didDisconnect(recipientPK, incomingID)) if (!recipientPKToChat[recipientPK]) { - // eslint-disable-next-line require-atomic-updates recipientPKToChat[recipientPK] = { messages: [], recipientAvatar: '', recipientDisplayName: Utils.defaultName(recipientPK), recipientPublicKey: recipientPK, - didDisconnect: - !!incomingID && - (await Utils.didDisconnect(recipientPK, incomingID)) + didDisconnect } } @@ -616,17 +615,17 @@ const onChats = (cb, gun, user, SEA) => { await Utils.asyncForEach( Object.entries(uti), async ([recipientPK, incomingFeedID]) => { + const didDisconnect = await Utils.didDisconnect( + recipientPK, + incomingFeedID + ) if (!recipientPKToChat[recipientPK]) { - // eslint-disable-next-line require-atomic-updates recipientPKToChat[recipientPK] = { messages: [], recipientAvatar: '', recipientDisplayName: Utils.defaultName(recipientPK), recipientPublicKey: recipientPK, - didDisconnect: await Utils.didDisconnect( - recipientPK, - incomingFeedID - ) + didDisconnect } }