Files
sgse-app/CHAT_PROGRESSO_ATUAL.md

3.5 KiB

📊 Chat - Progresso Atual

Implementado com Sucesso

1. Backend - Query para Listar Usuários

Arquivo: packages/backend/convex/usuarios.ts

  • Criada query listarParaChat que retorna:
    • Nome, email, matrícula
    • Avatar e foto de perfil (com URL)
    • Status de presença (online, offline, ausente, etc.)
    • Mensagem de status
    • Última atividade
  • Filtra apenas usuários ativos
  • Busca URLs das fotos de perfil no storage

2. Backend - Mutation para Criar/Buscar Conversa

Arquivo: packages/backend/convex/chat.ts

  • Criada mutation criarOuBuscarConversaIndividual
  • Busca conversa existente entre dois usuários
  • Se não existir, cria nova conversa
  • Suporta autenticação dupla (Better Auth + Sessões customizadas)

3. Frontend - Lista de Usuários Estilo "Caixa de Email"

Arquivo: apps/web/src/lib/components/chat/ChatList.svelte

  • Modificado para listar TODOS os usuários (não apenas conversas)
  • Filtra o próprio usuário da lista
  • Busca por nome, email ou matrícula
  • Ordenação: Online primeiro, depois por nome alfabético
  • Exibe avatar, foto, status de presença
  • Exibe mensagem de status ou email

4. UI do Chat

  • Janela flutuante abre corretamente
  • Header com título "Chat" e botões funcionais
  • Campo de busca presente
  • Contador de usuários

⚠️ Problema Identificado

Sintoma: Chat abre mas mostra "Usuários do Sistema (0)" e "Nenhum usuário encontrado"

Possíveis Causas:

  1. A query listarParaChat pode estar retornando dados vazios
  2. O usuário logado pode não ter sido identificado corretamente
  3. Pode haver um problema de autenticação na query

Screenshot: Chat Aberto Sem Usuários


🔧 Próximos Passos

Prioridade ALTA

  1. Investigar por que listarParaChat retorna 0 usuários

    • Verificar logs do Convex
    • Testar a query diretamente
    • Verificar autenticação
  2. Corrigir exibição de usuários

    • Garantir que usuários cadastrados apareçam
    • Testar com múltiplos usuários
  3. Testar envio/recebimento de mensagens

    • Selecionar um usuário
    • Enviar mensagem
    • Verificar se mensagem é recebida

Prioridade MÉDIA

  1. Envio para usuários offline

    • Garantir que mensagens sejam armazenadas
    • Notificações ao logar
  2. Melhorias de UX

    • Loading states
    • Feedback visual
    • Animações suaves

Prioridade BAIXA

  1. Atualizar avatares (conforme solicitado anteriormente)

📝 Arquivos Criados/Modificados

Backend

  • packages/backend/convex/usuarios.ts - Adicionada listarParaChat
  • packages/backend/convex/chat.ts - Adicionada criarOuBuscarConversaIndividual

Frontend

  • apps/web/src/lib/components/chat/ChatList.svelte - Completamente refatorado
  • ⚠️ Nenhum outro arquivo modificado

🎯 Funcionalidades do Chat

Já Implementadas

  • Janela flutuante
  • Botão abrir/fechar/minimizar
  • Lista de usuários (estrutura pronta)
  • Busca de usuários
  • Criar conversa com clique

Em Progresso

  • Exibir usuários na lista ⚠️ PROBLEMA ATUAL
  • Enviar mensagens
  • Receber mensagens
  • Notificações

Pendentes

  • Envio programado
  • Compartilhamento de arquivos
  • Grupos/salas de reunião
  • Emojis
  • Mensagens offline

Data: 28/10/2025 - 02:54
Status: EM PROGRESSO - Aguardando correção da listagem de usuários
Pronto para: Teste e debug da query listarParaChat