읽지 않은 메시지 수가 '읽지 않은 메시지(14)'로 표시되지만 /unread가 비어 있습니다

이 아름다운 목요일 아침에, 흥미로운 난제를 하나 가져왔습니다. 제 사이트에서 잘못된 미읽음 카운터가 표시되는 것 같습니다.

발생 상황

상단 네비게이션에 Unread (14)라고 표시됩니다. 하지만 클릭하여 /unread 페이지로 이동하면 미읽음 토픽이 하나도 목록에 없습니다. 페이지에는 더 이상 미읽은 것이 없다고 나와 있습니다.

다른 비스태프(비관리자) 사용자들도 동일한 문제를 보고 있으며, 다만 미읽음 수가 서로 다릅니다.

iOS용 Discourse 앱에서도 미읽음 토픽이 없는데 미읽음 수가 표시되는 것을 확인할 수 있으며, 이 경우에도 수치가 때때로 다릅니다.

  • 플랫폼: 데스크톱 웹 및 iOS용 Discourse 앱
  • 영향 대상: 여러 사용자
  • 사이트: eurth.org

테스트한 내용

안전 모드(Safe Mode)에서 테스트했습니다:

  • https://eurth.org/?safe_mode=no_themes,no_plugins
  • https://eurth.org/unread?safe_mode=no_themes,no_plugins

해당 모드에서도 문제가 여전히 발생하므로, 테마나 클라이언트 사이드 플러그인 커스터마이징으로 인한 것으로 보이지 않습니다. 토픽에 속삭임(whispers)이 없으므로, 그 때문일 가능성도 낮습니다.

또한 무시(Dismiss) 기능도 사용할 수 없는데, 미읽음 목록이 비어 있을 때 /unread 페이지에는 무시 버튼이 없기 때문입니다.

기대되는 동작

네비게이션에 Unread (14)라고 표시된다면, /unread 페이지에서 14개의 미읽음 토픽을 확인하거나, 최소한 일부 미읽음 토픽이 표시되어야 합니다.

실제 동작

  • 네비게이션에 Unread (14) 표시
  • /unread 페이지가 비어 있음
  • 무시(Dismiss) 버튼 사용 불가
  • 안전 모드에서도 문제 지속

질문

  • 단일 사용자의 미읽음 상태를 재구성/초기화하는 알려진 방법이 있습니까?
  • /unread 페이지가 비어 있는 경우에도 미읽음 수가 유지되도록 만드는 서버 측 불일치가 있습니까?

이전에 ask.discourse.org의 AI에게 이 문제에 대해 질문한 적이 있으며, 결국 이곳에 버그 리포트를 게시하라는 조언을 받았습니다.

2개의 좋아요

아, 유령 미읽기 알림이 당신의 사이트를 물었네요!

최근에 카테고리 권한을 변경했거나, 일부 주제를 보안 카테고리로 이동시킨 적이 있나요? 무언가가 추적 상태를 변경한 것 같습니다.

다른 사용자들도 같은 문제를 겪고 있다면, 모든 사용자에게 초기화를 적용하고 싶지 않나요?

레일즈 콘솔(rails console)을 통해 이 문제를 모든 사용자에게 수정할 수 있다고 생각하지만, 다소 까다롭고 먼저 방법을 찾아서 테스트해 봐야 합니다. 지금은 모바일로 접속 중이지만, 다른 사람이 해결책을 올리지 않는다면 잠시 후 해결책을 올리도록 하겠습니다.

2개의 좋아요

안녕하세요,

해당 버그를 인지하고 있으며 해결을 위해 노력하고 있습니다. 모두 이 문제로 인해 짜증이 나고 있습니다 :wink:

9개의 좋아요

네. 비공개로, 저희 스태프가 #documentation과 유사한 카테고리를 작업하고 있었으며, 완료된 직후 공개되었습니다.

네, 그렇습니다. 제 생각은 먼저 저에게 테스트를 해보고, 그런 다음 모든 사용자를 위해 수정하는 것이었습니다. 이 버그는 테스트하기가 매우 복잡하기 때문에(적어도 제게는), 작동하는 해결책이 나올 때까지 모든 사람의 기대를 높이고 싶지 않았습니다.

신뢰해 주셔서 감사합니다. 오늘 아침 2026년 5월 월간 릴리스 v2026.05를 확인하고 문제가 해결될 것 같았지만, 여전히 지속되고 있습니다. 팀이 대응하고 있을 것으로 확신합니다. Discourse는 훌륭합니다.

아이고. :flushed_face: 솔직히 관련 Contribute > Bug 보고서를 모두 살펴봤습니다. 잠시 동안은 “읽지 않음” 탭을 내비게이션에서 숨기고 그냥 무시하는 것도 고려했습니다. 하지만 그것으로 뭐가 해결되나요? 여기 메타에서도 저를 따라다니는 것 같습니다.

1개의 좋아요

좋아요, 이 rails 스크립트는 전역적인 “모두 읽음으로 표시” 기능을 수행하여 모든 사용자unread 카운트를 0으로 강제 재설정합니다. 따라서 유령 상태의 읽지 않음 항목뿐만 아니라 합법적인 읽지 않음 카운트도 함께 초기화됩니다. rails에서 sql 명령어로 이를 수행할 수 있습니다. 다만 근본적인 버그를 수정하는 것은 아닙니다. 또한 최근 백업이 있다면 좋은 방법이지만, 제 개발 포럼에서 테스트해보니 잘 작동했습니다.

cd /var/discourse
./launcher enter app
rails c

아래 전체 블록을 붙여넣고 엔터를 누르세요

sql = <<~SQL
  UPDATE topic_users
  SET last_read_post_number = topics.highest_post_number
  FROM topics
  WHERE topics.id = topic_users.topic_id
    AND COALESCE(topic_users.last_read_post_number, 0) < topics.highest_post_number
    AND topic_users.notification_level IN (2, 3, 4) -- Tracking, Watching, Watching First Post
SQL

# 업데이트 실행
result = ActiveRecord::Base.connection.execute(sql)
puts "Successfully cleared #{result.cmd_tuples} unread topics site-wide."

# 클라이언트 브라우저가 캐시된 상태를 폐기하고 데이터베이스와 동기화하도록 강제
MessageBus.publish("/topic-tracking-state", { clear: true })

사용자들은 초기화된 unread 상태를 확인하려면 강제 새로고침을 해야 할 수 있습니다.

4개의 좋아요

백업 실행. 백업 다운로드. 서버에 SSH로 접속. 스크립트 실행.

South Park: And It's Gone Meme

:white_check_mark: 문제 해결.

@Lilly, 정말 감사합니다. 선택지가 있었다면 해결책으로 표시했을 텐데, 대신 부스트를 드릴게요. :rocket: 좋은 하루 보내세요!

2개의 좋아요

참고로, 배포가 완료되면 유령 미읽음 알림은 사라질 것입니다:

너무 오래 걸리지 않기를 바랍니다

7개의 좋아요

유령 미읽음이라는 건 실제로는 읽지 않은 메시지가 없고 단순히 카운트가 잘못 표시된다는 뜻인가요?
최근 여러 디스커스 인스턴스에서 정반대 사례를 목격했습니다. 분명히 읽지 않은 메시지가 있었고 카운트도 정확했는데, “미읽음” 페이지에 해당 메시지가 표시되지 않는 상황이었습니다.

여기서 논의 중인 버그와는 다른 문제처럼 들리는데, 제 버그 보고서는 이 문제의 중복으로 처리되어 닫혔습니다.

이것은 동일한 문제입니다 …

우리는 작은 액션을 억제하고 있으며, 우리의 구현은 아직 halfway(중간 단계)에 머물러 있습니다.

따라서 이 토픽들은 토픽의 끝에 작은 액션(예: 클로저 등)이 있는 경우일 가능성이 매우 높습니다.

1개의 좋아요

아니요, 제가 버그 리포트에서 설명한 누락된 토픽들에는 실제로 새로운 게시글이 있습니다. 버그 리포트에서 말했듯이:

“읽지 않음” 표시는 제가 대화를 추적하는 방식인데, 이 버그 때문에 답글을 달아야 할 내용이 있다는 사실을 완전히 놓칠 위험이 큽니다.

“토픽 닫힘” 알림을 놓치는 것은 크게 신경 쓰지 않지만, 이 버그는 실제 게시글을 놓칠 수 있는 위험이 있습니다.

수요일(5월 27일)부터 iOS와 데스크톱 모두에서 이 문제를 겪고 있다는 점을 추가로 말씀드리고 싶습니다. OpenAI 커뮤니티 포럼의 사용자로서 이 문제를 경험하고 있습니다.

GIF_2852759167

추가: 이 화면 녹화가 여기에서 매우 느리게 재생되는 것 같습니다. 죄송합니다.

3개의 좋아요

죄송합니다. @zogstrip이 수정 작업을 진행 중이며, 오래 걸리지 않을 것입니다.

@RalfJung 잠시 기다려 주시겠어요? 수정이 완료된 후에도 문제가 해결되지 않으면 추가적으로 디버깅을 진행하겠습니다.

2개의 좋아요

걱정 마세요! OpenAI 커뮤니티에서도 동일한 문제를 보고 있어서 버그에 대한 가시성을 높이고 싶었을 뿐입니다. 이미 수정 작업이 진행 중이라는 소식에 다행입니다.

1개의 좋아요

@zogstrip 님이 여기에서 이 문제를 일으킨 회귀 버그에 대한 수정을 적용했습니다:

OpenAI가 방금 배포되었습니다(2분 남음).

5개의 좋아요

오늘 아침부터 읽지 않은 목록에 OpenAI 직원이 닫은 21개의 게시물이 표시되고 있는데, 이미 그 게시물을 확인하거나 읽은 적이 있습니다.


수정: 이제 제 쪽에서는 문제가 해결된 것 같습니다🙌 감사합니다!

4개의 좋아요