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')