먼저 말씀드리자면, 그 수정이 도움이 되지 않았습니다. 죄송합니다. 아니면 도움이 되긴 했는데 — 그 오류가 좀 이상했거든요.
제발 제 말을 따라봐 주세요
저는 채널을 5개 가지고 있습니다:
TL1용 3개
스태프용 1개
5명으로 구성된 커스텀 그룹용 1개
스태프 채널을 제외한 나머지 채널들을 서브카테고리에서 최상단으로 이동시켰습니다.
그 후 카테고리 미리보기 컴포넌트가 어떻게 작동하는지 테스트해 보았지만, 제가 필요로 하는 기능이 아니어서 비활성화했습니다. 바로 그 직후 카테고리 락다운 플러그인을 설치하기 위해 리빌딩을 수행했습니다.
작동은 했지만, FKB Pro 테마와 로그인/가입 모달에서 몇 가지 이상한 문제가 발생했습니다 — 로딩 중 아이콘만 계속 도는 현상이었죠. 제 iPad에서만 그런 것 같았습니다.
그 시점에서 커스텀 그룹의 채팅 채널이 더 이상 작동하지 않는다는 것을 알게 되었습니다. 게다가 스태프 그룹과 TL1 그룹 3개 중 2개는 아주 최근의 메시지들만 표시되고 있었습니다. TL1 그룹 1개는 멀쩡했습니다.
세이프 모드를 시도하고 설정을 통해 대부분의 플러그인을 비활성화해 보았지만, 도움이 되지 않아 이 토픽을 열었습니다.
장황하게 설명을 드리자면, 여러 번의 리빌딩과 플러그인 제거 및 재활성화 끝에:
스태프 채널과 TL1 채널 두 개는 트래픽이 적은 곳이라서 제가 그곳에서 14일 규칙을 사용 중이라는 사실을 완전히 잊고 있었습니다. 그래서 문제가 없었던 거죠.
커스텀 그룹 채널은 Data Explorer와 Category Lockdown 플러그인이 모두 설치된 상태에서는 깨져 있었고, 활성화/비활성화 여부와는 무관했습니다.
이 두 플러그인 없이 리빌딩을 수행하자 그 깨진 채널이 복구되었습니다. 두 플러그인을 모두 다시 설치한 상태로 다시 리빌딩(이게 말이 되나요?)했을 때에도 그 채널은 여전히 정상 작동했습니다.
제 무지한 추측으로는, 처음에 Category Previews를 시도했을 때 무언가 어긋나기 시작했고, 그 후 비활성화했으며, Category Lockdown으로 리빌딩을 했고, 마지막 단계로 Category Previews를 삭제한 것이 원인일 것 같습니다. 몇 가지 기이한 SQL 오류나 잘못된 데이터를 수정하기 위해 Data Explorer와 Lockdown을 완전히 제거하고, 더 최신 버전으로 재설치하는 과정이 필요했습니다.
이해가 안 되는 부분은 Discourse의 오류 로그입니다. 이 모든 일과 어떻게 연결되는지 모르겠습니다.
안녕하세요 @Jagster, 저도 채팅 팀 소속으로 이 문제를 좀 더 자세히 조사하고 있습니다. 작성해 주신 내용을 확인해 보니, 해당 오류가 발생한 원인이 될 만한 부분은 없어 보입니다. 각 채팅 메시지는 데이터베이스의 채팅 스레드와 thread_id를 통해 연결될 수 있으며, 어떤 이유로든 작성자님의 메시지 중 하나가 존재하지 않는 스레드의 thread_id를 참조하고 있습니다. 스레드를 삭제하는 코드가 없으므로, 아마도 어떤 업데이트 과정에서 문제가 생긴 것 같습니다.
아래 쿼리를 실행해 주시고 결과를 공유해 주시겠어요? 이를 통해 문제가 광범위하게 발생한 것인지, 아니면 단순히 특이한 엣지 케이스인지 확인할 수 있습니다:
SELECT id, chat_channel_id, thread_id
FROM chat_messages
WHERE thread_id IS NOT NULL AND thread_id NOT IN (
SELECT id FROM chat_threads
);