Troubleshooting & Solução de Problemas Frequentes
Troubleshooting & Guia de Diagnóstico
Section titled “Troubleshooting & Guia de Diagnóstico”Este documento compila os procedimentos de solução para os problemas e erros mais comuns enfrentados no desenvolvimento local, testes e operação do Prime Crown.
🔍 1. Desenvolvedor / Ambiente Local
Section titled “🔍 1. Desenvolvedor / Ambiente Local”A. Conflito de Portas no Ambiente Local (npm run dev / pages:dev)
Section titled “A. Conflito de Portas no Ambiente Local (npm run dev / pages:dev)”- Sintoma: O frontend não consegue realizar chamadas para
/api/*ou o Wrangler falha ao iniciar na porta8788. - Causa: Processos antigos do Node/Wrangler ficaram orquestrados na porta em segundo plano.
- Solução:
Terminal window # Matar processos ocupando as portas 3000 e 8788 no macOSkill -9 $(lsof -t -i:3000) 2>/dev/null || truekill -9 $(lsof -t -i:8788) 2>/dev/null || true# Reiniciar em dois terminais separados:npm run pages:dev # Terminal 1npm run dev # Terminal 2
B. Inconsistência de Schema no Banco Local (Schema Drift)
Section titled “B. Inconsistência de Schema no Banco Local (Schema Drift)”- Sintoma: O teste
npm testfalha apontando erro emtests/schema_drift.test.ts. - Causa: Uma alteração foi feita no arquivo
functions/api/db/schema.ts(Drizzle), mas não foi espelhada nodb/schema.sql. - Solução:
- Verifique quais tabelas/colunas foram adicionadas em
schema.ts. - Adicione as instruções SQL equivalentes no
db/schema.sqle crie a migração incremental emdb/migrations/NNNN_*.sql. - Re-inicialize o banco de dados local com:
Terminal window npm run db:init
- Verifique quais tabelas/colunas foram adicionadas em
💬 2. Comunicação Omnichannel & WhatsApp (Evolution API)
Section titled “💬 2. Comunicação Omnichannel & WhatsApp (Evolution API)”A. Mensagens de WhatsApp Não Estão Sendo Entregues
Section titled “A. Mensagens de WhatsApp Não Estão Sendo Entregues”- Sintoma: O status da fila em
WhatsAppFailuresPanel.tsxmostra tentativas esgotadas (FAILED). - Diagnóstico:
- Acesse o painel de configurações em
ChatSettingsPanel.tsxe clique em Check Connection Health. - Verifique se a instância do WhatsApp está conectada (
CONNECTED).
- Acesse o painel de configurações em
- Solução:
- Se a instância estiver desconectada ou desconectada pelo WhatsApp Web, solicite ao Administrador o escaneamento do novo QR Code na tela de suporte do Chat.
B. Bloqueio ou Spam Warning no Envio de Notificações
Section titled “B. Bloqueio ou Spam Warning no Envio de Notificações”- Causa: Envio de muitas mensagens em um curto intervalo sem intervalo humano.
- Solução:
- O sistema possui o middleware de proteção
antiBanPolicy.ts. Certifique-se de que os disparos automáticos passem sempre por esse middleware em vez de chamadas HTTP diretas.
- O sistema possui o middleware de proteção
⚡ 3. Sincronização e Atualizações Otimistas
Section titled “⚡ 3. Sincronização e Atualizações Otimistas”A. Toast “Sync Failed” na Interface
Section titled “A. Toast “Sync Failed” na Interface”- Sintoma: O usuário realiza uma ação (ex: muda data de agendamento), o card se move, mas segundos depois surge um toast de erro.
- Causa: A chamada atômica para o Cloudflare D1 em
/api/atomic/*retornou erro HTTP (4xx/5xx) ou falha de rede. - Solução:
- A store do Zustand executou o rollback automático para o estado anterior.
- Abra as DevTools do navegador ➔ Aba Network ➔ Verifique a resposta JSON do endpoint atômico que falhou para ler a mensagem exata do Zod Validator ou Drizzle.