diff --git a/src/Signal/Group/sender-chain-key.ts b/src/Signal/Group/sender-chain-key.ts index 032080c6..74e390d1 100644 --- a/src/Signal/Group/sender-chain-key.ts +++ b/src/Signal/Group/sender-chain-key.ts @@ -12,6 +12,8 @@ export class SenderChainKey { this.iteration = iteration if (chainKey instanceof Buffer) { this.chainKey = chainKey + } else if (chainKey instanceof Uint8Array) { + this.chainKey = Buffer.from(chainKey) } else { this.chainKey = Buffer.from(chainKey || []) } diff --git a/src/Signal/Group/sender-key-state.ts b/src/Signal/Group/sender-key-state.ts index 49ede567..47e46e3b 100644 --- a/src/Signal/Group/sender-key-state.ts +++ b/src/Signal/Group/sender-key-state.ts @@ -98,6 +98,8 @@ export class SenderKeyState { const publicKey = this.senderKeyStateStructure.senderSigningKey.public if (publicKey instanceof Buffer) { return publicKey + } else if (publicKey instanceof Uint8Array) { + return Buffer.from(publicKey) } else if (typeof publicKey === 'string') { return Buffer.from(publicKey, 'base64') } @@ -113,6 +115,8 @@ export class SenderKeyState { if (privateKey instanceof Buffer) { return privateKey + } else if (privateKey instanceof Uint8Array) { + return Buffer.from(privateKey) } else if (typeof privateKey === 'string') { return Buffer.from(privateKey, 'base64') } diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index 80d8c00d..3307d1f7 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -1159,11 +1159,11 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { const altServer = jidDecode(alt)?.server const lidMapping = signalRepository.getLIDMappingStore() if (altServer === 'lid') { - if (!(await lidMapping.getPNForLID(alt))) { + if (typeof await lidMapping.getPNForLID(alt) == "string") { await lidMapping.storeLIDPNMapping(alt, msg.key.participant || msg.key.remoteJid!) } } else { - if (!(await lidMapping.getLIDForPN(alt))) { + if (typeof await lidMapping.getLIDForPN(alt) == "string") { await lidMapping.storeLIDPNMapping(msg.key.participant || msg.key.remoteJid!, alt) } }