4.2 KiB
4.2 KiB
Alterações — 03/11/2025
Concluído
- Calendário com dropdown de mês/ano redesenhado (admin e portal) para replicar o visual da referência shadcn, com navegação compacta e sombra suave.
- Estruturado backend para
Dispositivos: novos campos no Convex (deviceType,deviceProfile, custom fields), mutations (saveDeviceProfile,saveDeviceCustomFields) e tabelas auxiliares (deviceFields,deviceExportTemplates). - Refatorado gerador de inventário XLSX para suportar seleção dinâmica de colunas, campos personalizados e nomenclatura de dispositivos.
- Renomeado "Máquinas" → "Dispositivos" em toda a navegação, rotas, botões (incluindo destaque superior) e mensagens de erro.
- UI do painel ajustada com criação manual de dispositivos, gerenciamento de campos personalizados, templates de exportação e inclusão de dispositivos móveis.
- Fluxo de CSAT revisado: mutation dedicada, timeline enriquecida, formulário de estrelas apenas para solicitante e dashboards com novos filtros/combobox.
- Diálogo de encerramento de ticket com vínculo opcional a outro ticket, prazo configurável de reabertura (7 ou 14 dias) e mensagem pré-visualizada.
- Botão de reabrir disponível para solicitante/equipe até o fim do prazo; timeline registra
TICKET_REOPENED. - Chat em tempo real incorporado ao detalhe do ticket (listagem live, envio, leitura automática, bloqueio pós-prazo).
- Formulários dinâmicos para admissão/desligamento com escopo e permissões por empresa/usuário;
createenviaformTemplateecustomFields. - Corrigidos mocks/tipagens das rotinas de resolução e reabertura (
resolveTicketHandler,reopenTicketHandler) garantindobun run lint,bun testebun run build:bunverdes. - Atualizado schema/tipagens (
TicketWithDetails,ChartTooltipContent) e dashboards CSAT para suportar reabertura com prazos e tooltips formatados. - Reatribuição de chamado sem motivo obrigatório; comentário interno só é criado quando o motivo é preenchido.
- Botão “Novo dispositivo” reutiliza o mesmo primário padrão do shadcn usado em “Nova empresa”, mantendo a identidade visual.
- Cartão de CSAT respeita a role normalizada (inclusive em sessões de dispositivos), só aparece para a equipe após o início do atendimento e mostra aviso quando ainda não há avaliações.
- Dashboard de abertos x resolvidos usa buscas indexadas por data e paginação semanal (
sem
collectmassivo), evitando timeouts no Convex. - Filtro por tipo de dispositivo (desktop/celular/tablet) na listagem administrativa com exportação alinhada.
- Consulta de alertas/tickets de dispositivos aceita
deviceIdalém demachineId, eliminando falhas no painel. - Busca por ticket relacionado no encerramento reaproveita a lista de sugestões (Enter seleciona o primeiro resultado e o campo exibe
#referência). - Portal (cliente e desktop) exibe os badges de status/prioridade em sentence case, alinhando com o padrão do painel web.
- Filtros de empresa nos relatórios/dashboards (Backlog, SLA, Horas, alertas e gráficos) usam combobox pesquisável, facilitando encontrar clientes.
- Campos adicionais de admissão/desligamento organizados em grid responsivo de duas colunas (admin e portal), mantendo booleanos/textareas em largura total.
- Templates de admissão e desligamento com campos dinâmicos habilitados no painel e no portal/desktop, incluindo garantia automática dos campos padrão via
ensureTicketFormDefaults. - Relatório de categorias e agentes com filtros por período/empresa, gráfico de volume e destaque do agente que mais atende cada tema.
Riscos
- Necessário validar migração dos dados existentes (máquinas → dispositivos) antes de entrar em produção.
- Testes de SMTP/entregabilidade precisam ser executados para garantir que notificações sigam as novas regras de pausa/comentário.
Pendências
- Validar comportamento de notificações (pausa/comentário) com infraestrutura de e-mail real.
- Executar migração de dados existente antes do deploy (mapear máquinas → dispositivos e revisar templates legados).
- Cobertura de testes automatizados para chat e formulários dinâmicos (resolve/reopen já cobertos).