messages-recv: stopgap to prevent errors from msmsg (Meta AI)

This commit is contained in:
Rajeh Taher
2025-03-19 00:45:43 +02:00
parent f56cb4f945
commit c96be39829

View File

@@ -566,6 +566,7 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
ids: string[],
retryNode: BinaryNode
) => {
// todo: implement a cache to store the last 256 sent messages (copy whatsmeow)
const msgs = await Promise.all(ids.map(id => getMessage({ ...key, id })))
const remoteJid = key.remoteJid!
const participant = key.participant || remoteJid
@@ -737,9 +738,18 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => {
return
}
const encNode = getBinaryNodeChild(node, 'enc')
// TODO: temporary fix for crashes and issues resulting of failed msmsg decryption
if(encNode && encNode.attrs.type === 'msmsg') {
logger.debug({ key: node.attrs.key }, 'ignored msmsg')
await sendMessageAck(node)
return
}
let response: string | undefined
if(getBinaryNodeChild(node, 'unavailable') && !getBinaryNodeChild(node, 'enc')) {
if(getBinaryNodeChild(node, 'unavailable') && !encNode) {
await sendMessageAck(node)
const { key } = decodeMessageNode(node, authState.creds.me!.id, authState.creds.me!.lid || '').fullMessage
response = await requestPlaceholderResend(key)