3.5 KiB
3.5 KiB
📊 Chat - Progresso Atual
✅ Implementado com Sucesso
1. Backend - Query para Listar Usuários
Arquivo: packages/backend/convex/usuarios.ts
- ✅ Criada query
listarParaChatque 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:
- A query
listarParaChatpode estar retornando dados vazios - O usuário logado pode não ter sido identificado corretamente
- Pode haver um problema de autenticação na query
🔧 Próximos Passos
Prioridade ALTA
-
Investigar por que
listarParaChatretorna 0 usuários- Verificar logs do Convex
- Testar a query diretamente
- Verificar autenticação
-
Corrigir exibição de usuários
- Garantir que usuários cadastrados apareçam
- Testar com múltiplos usuários
-
Testar envio/recebimento de mensagens
- Selecionar um usuário
- Enviar mensagem
- Verificar se mensagem é recebida
Prioridade MÉDIA
-
Envio para usuários offline
- Garantir que mensagens sejam armazenadas
- Notificações ao logar
-
Melhorias de UX
- Loading states
- Feedback visual
- Animações suaves
Prioridade BAIXA
- Atualizar avatares (conforme solicitado anteriormente)
📝 Arquivos Criados/Modificados
Backend
- ✅
packages/backend/convex/usuarios.ts- AdicionadalistarParaChat - ✅
packages/backend/convex/chat.ts- AdicionadacriarOuBuscarConversaIndividual
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
