Mensagens Duplicadas ao conectar com o Chatwoot [1.8.1]
Bem-vido!
- [X] Sim, pesquisei problemas semelhantes no GitHub e não encontrei nenhum.
O que você fez?
Estou na versão 1.8.1 e não sei se é somente na minha instalação, mas ao conectar uma instância no Chatwoot as mensagens enviadas que não foram pela plataforma do CW elas são duplicadas ao receber um segundo webhook do CW como se ela tivesse sido enviada pela plataforma. E o seguinte filtro do arquivo chatwoot.service.ts não está consegiundo filtrar pelo source_id pois por algum motivo ele está vindo nulo, e não consegue identificar a substring 'WAID'. No momento resolvi essa duplicação verificando igualdade do conteúdo da mensagem com as últimas 10 mensagens enviadas por mim na conversa em específico. Abaixo segue o código para essa questão:
if (body?.conversation?.messages[0]?.source_id?.substring(0, 5) === 'WAID:') {
this.logger.verbose('message sent directly from whatsapp. Webhook ignored.');
return { message: 'bot' };
}
let ownerLatestMsgs = await this.repository.message.find({
where: {
owner: instance.instanceName,
key: {
remoteJid: body.conversation.meta.sender.identifier,
fromMe: true,
},
},
limit: 10,
})
this.logger.verbose('checking last 10 messages for duplication');
for (const msg of ownerLatestMsgs) {
const content = (msg.message as any)?.conversation || (msg.message as any)?.extendedTextMessage.text;
if (content === messageReceived) {
this.logger.verbose('duplicated message. Webhook ignored.');
return { message: 'bot' };
}
}
O que você esperava?
Que a propriedade body?.conversation?.messages[0]?.source_id não estivesse nula e contesse o WAID para que fosse ignorada a mensagem, evitando a duplicação.
O que vc observou ao invés do que esperava?
Ela vem nula, e por isso tive que tomar outra abordagem para não duplicar a mensagem.
Capturas de Tela/Vídeos
No response
Qual versão da API você está usando?
1.8.1
Qual é o seu ambiente?
Docker
Outras expecificações do ambiente
Ubuntu 20.04 LTS com Docker | 16ram & 8 cores
Se aplicável, cole a saída do log
No response
Notas Adicionais
No response
Alguma solução para isso?
Estou fechando a issue pelo fato da versão mencionada não estar mais recebendo novas correções. Estaremos focados na v2 para corrigir qualquer tipo bug. Se precisar de assistencia, basta nos procurar nos foruns oficiais da comunidade do evolution.