sender-key: Properly digest new uint8array format keys. THANKS @w3nder!!
This commit is contained in:
@@ -12,6 +12,8 @@ export class SenderChainKey {
|
|||||||
this.iteration = iteration
|
this.iteration = iteration
|
||||||
if (chainKey instanceof Buffer) {
|
if (chainKey instanceof Buffer) {
|
||||||
this.chainKey = chainKey
|
this.chainKey = chainKey
|
||||||
|
} else if (chainKey instanceof Uint8Array) {
|
||||||
|
this.chainKey = Buffer.from(chainKey)
|
||||||
} else {
|
} else {
|
||||||
this.chainKey = Buffer.from(chainKey || [])
|
this.chainKey = Buffer.from(chainKey || [])
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -98,6 +98,8 @@ export class SenderKeyState {
|
|||||||
const publicKey = this.senderKeyStateStructure.senderSigningKey.public
|
const publicKey = this.senderKeyStateStructure.senderSigningKey.public
|
||||||
if (publicKey instanceof Buffer) {
|
if (publicKey instanceof Buffer) {
|
||||||
return publicKey
|
return publicKey
|
||||||
|
} else if (publicKey instanceof Uint8Array) {
|
||||||
|
return Buffer.from(publicKey)
|
||||||
} else if (typeof publicKey === 'string') {
|
} else if (typeof publicKey === 'string') {
|
||||||
return Buffer.from(publicKey, 'base64')
|
return Buffer.from(publicKey, 'base64')
|
||||||
}
|
}
|
||||||
@@ -113,6 +115,8 @@ export class SenderKeyState {
|
|||||||
|
|
||||||
if (privateKey instanceof Buffer) {
|
if (privateKey instanceof Buffer) {
|
||||||
return privateKey
|
return privateKey
|
||||||
|
} else if (privateKey instanceof Uint8Array) {
|
||||||
|
return Buffer.from(privateKey)
|
||||||
} else if (typeof privateKey === 'string') {
|
} else if (typeof privateKey === 'string') {
|
||||||
return Buffer.from(privateKey, 'base64')
|
return Buffer.from(privateKey, 'base64')
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1159,11 +1159,11 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
|
|||||||
const altServer = jidDecode(alt)?.server
|
const altServer = jidDecode(alt)?.server
|
||||||
const lidMapping = signalRepository.getLIDMappingStore()
|
const lidMapping = signalRepository.getLIDMappingStore()
|
||||||
if (altServer === 'lid') {
|
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!)
|
await lidMapping.storeLIDPNMapping(alt, msg.key.participant || msg.key.remoteJid!)
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (!(await lidMapping.getLIDForPN(alt))) {
|
if (typeof await lidMapping.getLIDForPN(alt) == "string") {
|
||||||
await lidMapping.storeLIDPNMapping(msg.key.participant || msg.key.remoteJid!, alt)
|
await lidMapping.storeLIDPNMapping(msg.key.participant || msg.key.remoteJid!, alt)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user