Parent issue
Reported during QA session
What's wrong
Quando o WebSocket se desconecta (visível pelo badge amarelo "Reconectando tempo real"), mensagens que chegam durante esse intervalo são salvas no banco pelo backend, mas o frontend não as recupera ao reconectar. O usuário precisa clicar manualmente em "Atualizar" para ver as mensagens.
O comportamento é observado como: mensagem enviada de um WhatsApp para o número conectado não aparece na janela do ISing, mesmo depois de aguardar a reconexão do badge.
What I expected
Após o WebSocket reconectar com sucesso, o chat deve automaticamente recarregar as mensagens da conversa ativa e atualizar a lista de conversas para cobrir o intervalo em que estava desconectado.
Steps to reproduce
- Abrir o ISing com uma conversa ativa
- Aguardar o badge mudar para "Reconectando tempo real" (ou simular desconexão)
- Enquanto desconectado, enviar uma mensagem do WhatsApp para o número conectado
- Aguardar a reconexão (badge voltar para "Tempo real conectado")
- Observar que a mensagem não aparece — só aparece após clicar em "Atualizar"
Additional context
O hook useWebSocket implementa reconexão com backoff exponencial. No callback onopen (quando a conexão é estabelecida com sucesso), não há nenhum disparo de fetchConversations ou fetchMessages. Adicionar um refresh na reconexão cobriria a janela de mensagens perdidas.
Blocked by: None — can start immediately
Parent issue
Reported during QA session
What's wrong
Quando o WebSocket se desconecta (visível pelo badge amarelo "Reconectando tempo real"), mensagens que chegam durante esse intervalo são salvas no banco pelo backend, mas o frontend não as recupera ao reconectar. O usuário precisa clicar manualmente em "Atualizar" para ver as mensagens.
O comportamento é observado como: mensagem enviada de um WhatsApp para o número conectado não aparece na janela do ISing, mesmo depois de aguardar a reconexão do badge.
What I expected
Após o WebSocket reconectar com sucesso, o chat deve automaticamente recarregar as mensagens da conversa ativa e atualizar a lista de conversas para cobrir o intervalo em que estava desconectado.
Steps to reproduce
Additional context
O hook
useWebSocketimplementa reconexão com backoff exponencial. No callbackonopen(quando a conexão é estabelecida com sucesso), não há nenhum disparo defetchConversationsoufetchMessages. Adicionar um refresh na reconexão cobriria a janela de mensagens perdidas.Blocked by: None — can start immediately