From 873a586d0ca876b03153a0ac119f1da84fa30d6e Mon Sep 17 00:00:00 2001 From: Rafael Lopes Date: Fri, 19 Jun 2026 16:48:46 -0300 Subject: [PATCH] =?UTF-8?q?FIX:=20Removidas=20valida=C3=A7=C3=B5es=20inclu?= =?UTF-8?q?des('@')=20incompat=C3=ADveis=20com=20IDs=20limpos?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit O guard 'activeContactId.includes('@')' bloqueava silenciosamente o carregamento de mensagens, assume/release/close de chat e envio de mensagens, pois o backend agora usa números limpos (sem @c.us) como identificadores. Trocado por verificação simples de truthy. Co-Authored-By: Claude Sonnet 4.6 --- src/modules/chat/hooks/useChat.js | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/modules/chat/hooks/useChat.js b/src/modules/chat/hooks/useChat.js index 6bd3a9f..9201cba 100644 --- a/src/modules/chat/hooks/useChat.js +++ b/src/modules/chat/hooks/useChat.js @@ -295,7 +295,7 @@ export function useChat() { activeAssignment?.status === 'queued' && (isAdminUser || !activeAssignment.area_nome || currentUserAreas.includes(activeAssignment.area_nome)), ); - const canAssumeChat = Boolean(!isPaused && activeContact?.id?.includes('@') && currentUserId && isQueuedForUserArea); + const canAssumeChat = Boolean(!isPaused && activeContact?.id && currentUserId && isQueuedForUserArea); const canReply = Boolean(!isPaused && isAssignedToCurrentUser && !isWaitingCustomerReply); const assignmentLabel = activeAssignment?.user_id ? isWaitingCustomerReply @@ -460,7 +460,7 @@ export function useChat() { let isMounted = true; async function loadMessages() { - if (!activeContactId.includes('@')) return; + if (!activeContactId) return; setIsLoadingMessages(true); try { const data = await listWhatsappMessages(activeContactId); @@ -628,7 +628,7 @@ export function useChat() { } async function assumeChat(contactId = activeContactId) { - if (!contactId?.includes('@') || !currentUserId) return null; + if (!contactId || !currentUserId) return null; const targetContact = contacts.find((contact) => contact.id === contactId) || activeContact; const targetAssignment = targetContact?.assignment || null; const areaId = targetContact?.areaId || targetAssignment?.area_id || areaOptions.find((area) => currentUserAreas.includes(area.nome))?.id; @@ -653,7 +653,7 @@ export function useChat() { } async function releaseChat() { - if (!activeContactId?.includes('@')) return; + if (!activeContactId) return; try { const assignment = await releaseWhatsappChat(activeContactId); @@ -670,7 +670,7 @@ export function useChat() { } async function closeChat() { - if (!activeContactId?.includes('@')) return; + if (!activeContactId) return; const confirmed = window.confirm('Tem certeza que deseja encerrar este atendimento?'); if (!confirmed) return; @@ -786,7 +786,7 @@ export function useChat() { } setAttachedFile(null); - if (!contactId.includes('@')) return; + if (!contactId) return; try { await sendWhatsappMessage({