Notei que, às vezes, quando um usuário envia uma mensagem, ela é postada acima de outras mensagens já enviadas no chat. Por outro lado, às vezes acontece o oposto, onde um usuário envia uma mensagem e ela teimosamente se fixa no final do chat, mesmo com o envio de mensagens mais recentes.
Fiz algumas investigações e a única pista real que tenho é este PR #34592, que foi mesclado na época em que começamos a ter o problema, no final de agosto/início de setembro. Acho que está relacionado porque permite que o tempo do cliente seja usado como timestamps para mensagens, e isso se encaixaria bem como uma explicação para alguns dos problemas que estamos tendo. Não tenho certeza se o PR está relacionado, pois há algumas peculiaridades que não se somam, mas acho que seria um bom lugar para começar a procurar.
Para ser perfeitamente claro, este não é um problema apenas do meu lado, as mensagens estão sendo exibidas na ordem errada para TODOS os usuários no chat.
Aqui estão algumas outras coisas que observamos que podem ajudar a investigar este problema:
- O bug não é nada determinístico, ele acontece apenas às vezes, mas quando acontece, geralmente ocorre em torno de usuários específicos e todas as suas mensagens. Por exemplo, um usuário terá todas as suas mensagens enviadas “no passado” ou “no futuro”, por assim dizer (ou seja, antes de outras mensagens mais antigas, ou depois de mensagens mais novas).
- Parece acontecer de forma mais consistente com alguns usuários específicos, o que pode significar que está relacionado a um roteamento específico ou à latência de diferentes usuários.
- Alguém pode responder diretamente a uma mensagem que vê no chat, e a resposta AINDA será registrada como tendo ocorrido ANTES da mensagem à qual está respondendo, levando a algumas situações muito estranhas como esta:
