EvolutionAPI / evolution-api

Evolution API is an open-source WhatsApp integration API
https://evolution-api.com
GNU General Public License v3.0
1.64k stars 757 forks source link

[EN][BUG] Quando o atendente marca uma mensagem para comentar, o ChatWoot marca a mensagem incorreta para o usuário/cliente, às vezes nem é uma mensagem daquela conversa #562

Closed elizeufranca closed 4 months ago

elizeufranca commented 5 months ago

O cliente envia uma mensagem ou o operador envia uma mensagem, depois clica com o botão direito na mensagem que deseja comentar, escreve a nova mensagem e envia.

Eu uso a versão mais recente do Chatwoot disponível para Swarm, v3.8.0. Também utilizo a API Evolution na ultima versão.

O operador ChatWoot marca uma mensagem, comenta, mas o usuário/cliente é marcado com outra mensagem aleatória, às vezes marcando uma mensagem que nem é daquela conversa.

image

image

image

pelinche commented 5 months ago

Tenho notado o mesmo comportamento. A mensagem "marcada" para responder parece ser sempre a ultima mensagem recebida

elizeufranca commented 5 months ago

Complementando, a marcação feita pelo cliente no seu WhatsApp, não aparece marcada no ChatWoot. Não sei ser ser bug da Evolution API ou se não existe implementação para esta marcação vinda do cliente, tanto no ChatWoot quanto na Evolution API

cdiegosr commented 5 months ago

Aqui aconteceu a mesma coisa após a atualização para a 1.7.4

A pessoa/cliente também vê dados da "resposta", mesmo não fazendo parte da conversa

pelinche commented 5 months ago

@cdiegosr , qual era a versão que você usava que não tinha problema?

cdiegosr commented 5 months ago

chatwoot 3.7.0 e evolution api 1.7.2

pelinche commented 5 months ago

Realizei diversos testes, analizando código fonte - e descobri que o problema deixa de ocorrer quando é ativada a persistência dos dados.

Definições padrão:

# Permanent data storage
DATABASE_ENABLED=false
DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true
DATABASE_CONNECTION_DB_PREFIX_NAME=evdocker

# Choose the data you want to save in the application's database or store
DATABASE_SAVE_DATA_INSTANCE=false
DATABASE_SAVE_DATA_NEW_MESSAGE=false
DATABASE_SAVE_MESSAGE_UPDATE=false
DATABASE_SAVE_DATA_CONTACTS=false
DATABASE_SAVE_DATA_CHATS=false
Com as minhas alterações:

# Permanent data storage
DATABASE_ENABLED=true
DATABASE_CONNECTION_URI=mongodb://root:root@mongodb:27017/?authSource=admin&readPreference=primary&ssl=false&directConnection=true
DATABASE_CONNECTION_DB_PREFIX_NAME=evdocker

# Choose the data you want to save in the application's database or store
DATABASE_SAVE_DATA_INSTANCE=false
DATABASE_SAVE_DATA_NEW_MESSAGE=true
DATABASE_SAVE_MESSAGE_UPDATE=true
DATABASE_SAVE_DATA_CONTACTS=true
DATABASE_SAVE_DATA_CHATS=true

Iniciei a testar o projeto a uma semana - então sei que o que sugeri como uma solução não é a verdade absoluta. Acredito que exista uma falha quando as mensagens estejam sendo persistidas no diretório store.

elizeufranca commented 4 months ago

Pelo que entendi, podemos usar a Evolution sem o MongoDB ou com o MongoDB. Hoje utilizo sem o Mongo e uso a Evolution conectada ao ChatWoot, onde as mensagens já são salvas. Estou tentando entender em que me ajudaria usar o Mongo para salvar tambem as mensagens no banco com a Evolution para que este bug nao acontecesse.

pelinche commented 4 months ago

@elizeufranca, independente de você usar ou não o MongoDB, as mensagens são persistidas pela EvolutionAPI. Caso não use MongoDB, elas são persistidas localmente, no diretório indicado na configuração (/evolution/store/messages/)

DavidsonGomes commented 4 months ago

Essa função so funciona corretamente com mongodb, como sempre recomendamos!