가끔 사용자가 메시지를 보내면 이미 채팅에 게시된 다른 메시지 위에 표시되는 것을 발견했습니다. 반면, 어떤 경우에는 사용자가 메시지를 보내면 더 새로운 메시지가 전송되더라도 해당 메시지가 채팅 맨 아래에 고집스럽게 붙어 있는 경우도 있습니다.
조사를 해 본 결과, 유일한 단서는 PR #34592입니다. 이 PR은 문제가 발생하기 시작한 8월 말/9월 초쯤에 병합되었습니다. 클라이언트의 시간을 메시지의 타임스탬프로 사용할 수 있게 해 주므로, 우리가 겪고 있는 일부 문제의 설명으로 잘 맞아떨어질 것 같습니다. 다만 몇 가지 맞지 않는 부분이 있어 PR이 직접적인 원인인지 100% 확신은 없지만, 조사하기에 좋은 출발점이 될 것 같습니다.
완전히 명확히 하자면, 이 문제는 제 환경에서만 발생하는 것이 아닙니다. 채팅에서 모든 사용자에게 메시지가 잘못된 순서로 표시됩니다.
이 문제를 조사하는 데 도움이 될 수 있는 우리가 관찰한 추가 사항은 다음과 같습니다:
- 이 버그는 결정론적이지 않으며, 항상 발생하는 것은 아닙니다. 하지만 발생하면 특정 사용자와 그 사용자의 모든 메시지와 관련된 경우가 많습니다. 예를 들어, 사용자의 모든 메시지가 말하자면 "과거"나 "미래"에 전송된 것처럼 (즉, 더 오래된 메시지보다 앞서거나, 더 새로운 메시지보다 뒤에) 표시되는 경우입니다.
- 몇몇 특정 사용자에게서 더 일관되게 발생하는 것 같습니다. 이는 특정 라우팅이나 사용자별 지연 시간(latency)과 관련이 있을 수 있음을 시사합니다.
- 사용자가 채팅에서 보고 있는 메시지에 직접 답장을 보낼 수 있지만, 답장은 여전히 답장하는 대상 메시지 이전에 발생한 것으로 기록됩니다. 이로 인해 다음과 같은 매우 기이한 상황이 발생합니다:
