130 lines
3.5 KiB
Markdown
130 lines
3.5 KiB
Markdown
# 📊 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**:
|
|

|
|
|
|
---
|
|
|
|
## 🔧 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
|
|
4. **Envio para usuários offline**
|
|
- Garantir que mensagens sejam armazenadas
|
|
- Notificações ao logar
|
|
|
|
5. **Melhorias de UX**
|
|
- Loading states
|
|
- Feedback visual
|
|
- Animações suaves
|
|
|
|
### Prioridade BAIXA
|
|
6. **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
|
|
- [x] Janela flutuante
|
|
- [x] Botão abrir/fechar/minimizar
|
|
- [x] Lista de usuários (estrutura pronta)
|
|
- [x] Busca de usuários
|
|
- [x] 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`
|
|
|