Versão 3.6.024
1) Novo Kanban (itens, automações e filtros avançados)
- Criado novo modelo KanbanItem com CRUD completo (controllers, services, rotas e migrations).
- Migrados dados de contatos para o novo modelo de itens Kanban, quando aplicável.
- Incluído suporte a automações de Kanban, com registro de logs e processamento via jobs.
- Kanban atualizado para suportar:
- Campo "scope"
- Dono/proprietário do item
- Filtros avançados por escopo, dono e outros critérios
- Frontend e arquivos de tradução (i18n) atualizados para exibir e operar as novas funcionalidades do Kanban.
2) Saudação unificada e horário mais confiável
- Removida lógica duplicada de saudação em controllers e services.
- Criado utilitário centralizado getGreeting para gerar saudação de forma consistente, usando horário real da API e fuso horário correto.
- Melhorado o fallback em getCurrentTime e pupa.ts para ajustar corretamente o fuso do servidor, evitando problemas com idioma, região ou formato AM/PM.
3) Migrações mais seguras em produção
- Scripts de migration atualizados para checarem se colunas, tabelas e índices já existem antes de tentar criá-los.
- Evita erros ao rodar migrations múltiplas vezes e aumenta a confiabilidade em cenários de deploy e atualizações repetidas.
4) Contatos, importação de mensagens e menu de opções do chat
- Adicionados os campos description, website e category no serviço de atualização de contatos e no modal de contato.
- Melhorada a lógica de importação de mensagens WhatsApp para mensagens de grupo, com tratamento mais preciso e estável.
- Refatorado o menu de opções de mensagens no chat para melhor usabilidade e visual mais moderno, incluindo:
- Exibição dinâmica de botões conforme o contexto.
- Estilização contextual, deixando o menu mais limpo e organizado.
5) QR Code, reconexão e bloqueio de sessão
- Adicionado mecanismo de cooldown para impedir tentativas repetidas de QR após atingir o limite máximo de tentativas.
- Durante o cooldown de 1 minuto, novas inicializações de sessão são bloqueadas.
- Contadores de cooldown e retry são limpos quando a sessão é removida.
- Reconexão passa a ser bloqueada após eventos de logout manual ou banimento, evitando que o sistema tente reconectar sessões que não devem mais voltar.
6) Multi-tenant e consistência de mensagens
- tenantId agora é incluído nos refresh tokens e utilizado na troca de tenant para evitar erros de busca de usuário.
- Adicionada validação na criação de mensagens para vincular sempre ao userId correto daquele tenant.
- Aumenta a consistência dos dados e evita cruzamento de informações entre tenants diferentes.
