Skip to content

Chat: mensagens perdidas durante reconexão do WebSocket não são recuperadas automaticamente #241

Description

@joel299

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

  1. Abrir o ISing com uma conversa ativa
  2. Aguardar o badge mudar para "Reconectando tempo real" (ou simular desconexão)
  3. Enquanto desconectado, enviar uma mensagem do WhatsApp para o número conectado
  4. Aguardar a reconexão (badge voltar para "Tempo real conectado")
  5. 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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions