fix: handle case with 0 app state sync keys

This commit is contained in:
Adhiraj Singh
2021-11-25 13:42:58 +05:30
parent 396e1d2e95
commit 09b3815d89

View File

@@ -132,18 +132,24 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
}) })
break break
case proto.ProtocolMessage.ProtocolMessageType.APP_STATE_SYNC_KEY_SHARE: case proto.ProtocolMessage.ProtocolMessageType.APP_STATE_SYNC_KEY_SHARE:
let newAppStateSyncKeyId = '' const keys = protocolMsg.appStateSyncKeyShare!.keys
for(const { keyData, keyId } of protocolMsg.appStateSyncKeyShare!.keys || []) { if(keys?.length) {
const str = Buffer.from(keyId.keyId!).toString('base64') let newAppStateSyncKeyId = ''
logger.info({ str }, 'injecting new app state sync key') for(const { keyData, keyId } of keys) {
await authState.keys.setAppStateSyncKey(str, keyData) const str = Buffer.from(keyId.keyId!).toString('base64')
newAppStateSyncKeyId = str logger.info({ str }, 'injecting new app state sync key')
} await authState.keys.setAppStateSyncKey(str, keyData)
ev.emit('creds.update', { myAppStateKeyId: newAppStateSyncKeyId }) newAppStateSyncKeyId = str
}
resyncMainAppState()
ev.emit('creds.update', { myAppStateKeyId: newAppStateSyncKeyId })
resyncMainAppState()
} else [
logger.info({ protocolMsg }, 'recv app state sync with 0 keys')
]
break break
case proto.ProtocolMessage.ProtocolMessageType.REVOKE: case proto.ProtocolMessage.ProtocolMessageType.REVOKE:
ev.emit('messages.update', [ ev.emit('messages.update', [