Commit Graph

4 Commits

Author SHA1 Message Date
VPS 4 Deploy Agent 7893a05f63 feat(media): transcrição de áudio + descrição de imagem no motor (via Gemini)
Move a transcrição para o motor (genérica p/ todos os tenants/satélites):
- media-transcribe.ts: Gemini 2.0 Flash (áudio→texto, imagem→descrição) a partir
  do buffer já baixado; limite inline 18MB; fallback silencioso.
- MessageHandler.processMedia: após salvar a mídia, transcreve fire-and-forget e
  grava em messages.transcription, emitindo 'message:transcription' p/ a UI.
- schema: campo Message.transcription (coluna aplicada nos bancos).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 08:33:42 +02:00
VPS 4 Deploy Agent 43f519e7aa feat(settings): selo Conta Business, aviso de re-scan ao trocar API, log de erro de botões
- Detecta WhatsApp Business (app) via getBusinessProfile no pós-conexão e
  persiste em instances.isBusiness; painel mostra "Conta Business: sim/não"
  (com nota Business App ≠ Business API).
- Painel avisa que trocar de API desconecta e exige escanear o QR novamente,
  com confirmação antes de aplicar a troca.
- sendRichMessage agora monitora e loga erros especificamente quando a mensagem
  tem botões/lista/carrossel (diagnóstico de rejeição de interativos por engine).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-28 05:45:34 +02:00
VPS 4 Deploy Agent 7124ec790e perf(whatsapp): índices em FKs + delete de instância em lotes
- Adiciona @@index nas FKs que sofrem cascade/SET NULL ao deletar instância:
  messages.replyToId (self-ref, evitava O(n²) no SET NULL), chats.instanceId,
  chats.contactId, contacts.instanceId, broadcasts.instanceId.
- InstanceRepository.delete agora apaga 'messages' em lotes (5k) antes do
  cascade, evitando transação/locks gigantes em instâncias com dezenas de
  milhares de mensagens. O restante (chats/contacts/...) sai pelo cascade,
  agora rápido com os índices.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-27 18:58:06 +02:00
VPS 4 Deploy Agent 2f8c04a0a7 chore(ops): restore all source files in newwhats.clube67.com
continuous-integration/webhook Falha no deploy de clube67_newwhats.local (VPS 4)
2026-05-18 03:28:29 +02:00