From 421e762c2d5d384b3d09d0bdf2c125b840a898b9 Mon Sep 17 00:00:00 2001 From: Davidson Gomes Date: Thu, 12 Jun 2025 11:11:41 -0300 Subject: [PATCH] fix(chatwoot.service): Ensure conversation checks are robust before toggling status - Added null checks for conversation object in reopenConversation mode and when finding unresolved conversations. - Improved logging for better debugging of conversation retrieval. --- .../chatbot/chatwoot/services/chatwoot.service.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts b/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts index d08079a4..ab3f419d 100644 --- a/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts +++ b/src/api/integrations/chatbot/chatwoot/services/chatwoot.service.ts @@ -705,7 +705,7 @@ export class ChatwootService { if (this.provider.reopenConversation) { this.logger.verbose(`Found conversation in reopenConversation mode: ${JSON.stringify(inboxConversation)}`); - if (this.provider.conversationPending && inboxConversation.status !== 'open') { + if (inboxConversation && this.provider.conversationPending && inboxConversation.status !== 'open') { await client.conversations.toggleStatus({ accountId: this.provider.accountId, conversationId: inboxConversation.id, @@ -716,7 +716,7 @@ export class ChatwootService { } } else { inboxConversation = contactConversations.payload.find( - (conversation) => conversation.status !== 'resolved' && conversation.inbox_id == filterInbox.id, + (conversation) => conversation && conversation.status !== 'resolved' && conversation.inbox_id == filterInbox.id, ); this.logger.verbose(`Found conversation: ${JSON.stringify(inboxConversation)}`); }