From e731de5deb7601e97b94e59de0aae530a3b25593 Mon Sep 17 00:00:00 2001 From: Adhiraj Singh Date: Mon, 21 Mar 2022 23:29:43 +0530 Subject: [PATCH] feat: add state sync keys in transaction --- src/Socket/messages-recv.ts | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index 5498345..0fe003e 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -168,15 +168,18 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { const keys = protocolMsg.appStateSyncKeyShare!.keys if(keys?.length) { let newAppStateSyncKeyId = '' - for(const { keyData, keyId } of keys) { - const strKeyId = Buffer.from(keyId.keyId!).toString('base64') + await authState.keys.transaction( + async() => { + for(const { keyData, keyId } of keys) { + const strKeyId = Buffer.from(keyId.keyId!).toString('base64') - logger.info({ strKeyId }, 'injecting new app state sync key') - await authState.keys.set({ 'app-state-sync-key': { [strKeyId]: keyData } }) - - newAppStateSyncKeyId = strKeyId - } + logger.info({ strKeyId }, 'injecting new app state sync key') + await authState.keys.set({ 'app-state-sync-key': { [strKeyId]: keyData } }) + newAppStateSyncKeyId = strKeyId + } + } + ) ev.emit('creds.update', { myAppStateKeyId: newAppStateSyncKeyId }) } else { logger.info({ protocolMsg }, 'recv app state sync with 0 keys')