diff --git a/src/Socket/messages-recv.ts b/src/Socket/messages-recv.ts index c8dfa01..88d8fa5 100644 --- a/src/Socket/messages-recv.ts +++ b/src/Socket/messages-recv.ts @@ -547,7 +547,8 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { const { fullMessage: msg, category, author, decrypt } = decryptMessageNode( node, authState.creds.me!.id, - signalRepository + signalRepository, + logger, ) if(shouldIgnoreJid(msg.key.remoteJid!)) { logger.debug({ key: msg.key }, 'ignored message') @@ -561,10 +562,6 @@ export const makeMessagesRecvSocket = (config: SocketConfig) => { await decrypt() // message failed to decrypt if(msg.messageStubType === proto.WebMessageInfo.StubType.CIPHERTEXT) { - logger.error( - { key: msg.key, params: msg.messageStubParameters }, - 'failure in decrypting message' - ) retryMutex.mutex( async() => { if(ws.readyState === ws.OPEN) { diff --git a/src/Utils/decode-wa-message.ts b/src/Utils/decode-wa-message.ts index 1677051..ebec0de 100644 --- a/src/Utils/decode-wa-message.ts +++ b/src/Utils/decode-wa-message.ts @@ -1,4 +1,5 @@ import { Boom } from '@hapi/boom' +import { Logger } from 'pino' import { proto } from '../../WAProto' import { SignalRepository, WAMessageKey } from '../Types' import { areJidsSameUser, BinaryNode, isJidBroadcast, isJidGroup, isJidStatusBroadcast, isJidUser } from '../WABinary' @@ -97,7 +98,8 @@ export function decodeMessageNode( export const decryptMessageNode = ( stanza: BinaryNode, meId: string, - repository: SignalRepository + repository: SignalRepository, + logger: Logger ) => { const { fullMessage, author, sender } = decodeMessageNode(stanza, meId) return { @@ -163,9 +165,13 @@ export const decryptMessageNode = ( } else { fullMessage.message = msg } - } catch(error) { + } catch(err) { + logger.error( + { key: fullMessage.key, err }, + 'failed to decrypt message' + ) fullMessage.messageStubType = proto.WebMessageInfo.StubType.CIPHERTEXT - fullMessage.messageStubParameters = [error.message] + fullMessage.messageStubParameters = [err.message] } } }