채팅 메시지가 잘못된 순서로 표시됨

최신 Discourse 버전을 사용하고 있지만, 이 버그는 몇 주 전부터 인지하고 있습니다.

채팅 메시지가 가끔(자주 발생하는 것은 아니지만, 대략 20% 정도) 잘못된 순서로 표시되는 경우가 있습니다. 즉, 새로 보낸 메시지가 이전 메시지 위에 표시될 수 있습니다.

이 현상을 경험해 보신 분 계신가요? 재현 방법을 정확히 모르겠습니다.

제 쪽에서는 문제가 없습니다. 스레드를 사용하시나요? 저는 사용하지 않습니다.

그렇습니다. 다만 스레드 내부가 아니라 DM 채팅에서도 그런 현상이 발생하는 것 같습니다. 스레드 기능이 활성화되어 있기 때문이라고 생각하시나요?

솔직히 말해서 — 나는 아무것도 생각하지 않고, 그냥 엉뚱한 추측 하나를 던져본 것뿐입니다.

하지만 다른 포럼에서는 그런 문제가 발생하지 않는 것 같고 (그렇지 않다면 여기에는 여러 개의 게시물이 올라와 있을 텐데), 또한 스레드가 생각보다 인기 있는 편이 아니라는 느낌이 들고, 순서가 바뀐 것은 스레딩이 실패한 것처럼 매우 강하게 느껴지므로, 그 추측은 쉽게 나올 수 있었습니다.

아니면 타임스탬프가 깨진 것일 수도 있고요.

하지만 곧 더 나은 기술을 가진 누군가가 여기 나타날 것입니다.

저희는 내부적으로 매일 채팅을 사용하지만, 이와 관련된 보고서를 아직 받지 못했습니다.

여러분의 포럼에서는 몇 명에게 이런 문제가 발생하고 있나요? 환경에 대한 추가 정보를 공유해 주실 수 있을까요? 예를 들어 모바일인지 데스크톱인지, 네트워크 속도, 브라우저, 열려 있는 채팅 채널 수 등입니다. 보통 몇 분 후에 발생하는 건가요? 이 정보가 없으면 문제를 제대로 해결하기 어렵습니다.

1개의 좋아요

감사합니다.

  • 모바일 폰 및 태블릿 - 특히 iPhone과 iPad 사용자의 보고만 확인했습니다
  • 네트워크 속도 - 정확히 잘 모르겠습니다. 구체적으로 어떤 점을 확인해야 하나요?
  • 브라우저로 Safari 사용
  • 열린 채팅 채널 수 - DM을 포함해 총 몇 개인지를 말하는 건가요? 제 이해로는 한 번에 하나만 “열려” 있을 수 있는 것 같은데?
  • X분 후에 발생하는지 여부에 대해서는 확인 후 여기에 업데이트하겠습니다.

다른 메시지를 보내거나, 채팅을 나갔다 들어오거나, 새로고침을 하면 괜찮아 보입니다.

포럼에서 사용자의 피드백

채팅 메시지를 지우거나 정리할 수 있는 방법이 있을까요? @nat

사용자가 50,000명 이상인 채널인데, 채팅 기록 보존 기간을 7일로 설정해 두었습니다. 하지만 이게 너무 많아서 문제가 되는 건 아닌지 궁금합니다.

5만 명의 사용자가 있는 흥미로운 사용 사례네요. (cc @davidb) 이게 왜 우리가 보지 못하는 현상을 보고 계신지 단서가 될 것 같습니다.

콘솔에 접근하는 데 불편함이 없으시다면, Chat::MessageDestroyer를 이용해 할 수 있는 작업이 있을 수 있습니다. 다만, 만약 '이 채널의 마지막 1만 건의 메시지만 유지’하는 기능이 필요하시다면, 현재 그런 기능은 제공되지 않습니다.

2개의 좋아요

이렇게 하면 채팅의 모든 메시지가 삭제되나요?

데이터베이스 과부하나 IP 차단 같은 문제가 있어서, 가끔은 사용자가 새로고침을 해야 다른 메시지를 볼 수 있는 것 같다는 추측을 하고 있습니다.

이 코드는 채팅 보존 기간이 지난 후 다이렉트 메시지를 삭제할 때 MessageDestroyer가 어떻게 사용되는지 확인하는 데 유용할 수 있습니다:

이론적으로 특정 숫자보다 작은 id를 가진 메시지를 선택하여 삭제하도록 전달할 수 있습니다(destroy_in_batches 메서드 참고).

네, 데이비드가 말한 대로입니다 :point_up:t: 일반적으로 보존 기간 외에 채팅 메시지를 특정 방식으로 삭제해 달라는 요청은 받아본 적이 없습니다.

구체적인 아이디어가 있으시다면 콘솔을 통해 실행하는 데 문제가 없으시다면 알려주세요. 안전하게 실행할 수 있는 방법을 제공해 드리겠습니다.

1개의 좋아요

감사합니다! 다만 이 문제와 직접적인 관련이 있는지, 아니면 제가 엉뚱한 방향으로 추측하고 있는 건지 확실하지가 않습니다.

이 문제를 보는 사람이 우리뿐인지 확인하려고 이 글을 다시 올립니다. 큰 채팅방(회원 5만~10만 명 등)에서만 발생하는 것 같습니다.

1개의 좋아요

5만~10만 명이 있는 채팅방이 있나요? :open_mouth:

1개의 좋아요

네 :sweat_smile: 그게 문제인 것 같다는 생각이 드네요

1개의 좋아요

일부 업데이트 사항이 있습니다.
이 문제는 아직 해결되지 않았지만, 때때로(아마도 사용자가 몰리는 시간대에) 채팅 메시지가 가져와지지 않는 것 같습니다. 즉, 사용자는 새 메시지가 없는 것처럼 보이다가, 잠시 후나 새로고침을 하면 모든 메시지가 한꺼번에 표시되는 현상이 발생합니다.

해당 채팅 채널에는 10만 명 이상의 많은 사용자가 있지만, 대부분 비활성 상태입니다.

2개의 좋아요