/posted 필터에 가져온(topics) 주제가 포함되지 않나요?

사용자가 “/posted” 페이지(예: https://meta.discourse.org/posted)를 방문할 때, 이전 사이트에서 가져온 게시글이 포함된 주제가 표시되지 않습니다. 이는 해당 게시글이 “/u/xxx/activity/topics” 페이지에는 정상적으로 표시되고 있음에도 발생하는 문제입니다.

반면 제 계정에서는 “/posted” 페이지가 가져온 콘텐츠와 함께 정상적으로 작동하는 것으로 보입니다. 다만, 제가 가져온 계정을 디스코르스 인스턴스가 생성될 때 사용된 기본 계정으로 병합했기 때문에 이것이 원인일 수도 있습니다.

이것이 버그인가요? 누군가가 이 문제를 이해하는 데 도움을 주거나, 최소한 discourse 저장소에서 /posted 필터에 해당하는 백엔드 코드를 알려주시면 제가 직접 문제를 파악해 보겠습니다. Ruby와 Rails에 아직 익숙하지 않아 discourse GitHub의 파일 구조를 완전히 이해하지 못하고 있습니다. 감사합니다!

저도 그렇게 생각합니다. 게시글이 로그인한 사용자가 아닌 다른 사용자에 의해 생성된 것이라면, 이것이 예상되는 동작이 맞나요?

가져온 계정과 사람들이 실제로 사용하는 계정이 다르다면, 이 부분을 수정해야 합니다.

아마도 제가 명확히 설명해 드려야 할 것 같습니다.

제 계정에서는 초기 디스커스 관리자 계구를 구식 포럼에서 가져온 계정으로 병합했습니다. 제가 과거에 게시한 모든 토픽이 /posted 페이지에 올바르게 표시됩니다.

다른 사용자들의 경우, 사용 중인 계정은 구 사이트에서 가져온 것뿐입니다. 이 사용자들에게는 가져오기 이후에 게시한 토픽만 /posted에 표시됩니다. 제가 보유한 테스트용 알트 계정을 통해 이 사실을 확인했습니다.

가져온 게시물이 /posted에 표시되는 항목에 영향을 미쳐야 한다고 생각하므로, 제 계정에서는 동작이 정상이지만 다른 모든 사용자에게는 그렇지 않은 것 같습니다. 가져오기 이후에 모든 기존 게시물을 새 계정에 할당하는 병합 단계가 원인이 된 것으로 추정됩니다.

다음으로, /posted에 표시되지 않는 게시물이 실제로 해당 게시물을 찾는 사용자의 것인지 확인하는 것이 좋습니다. 예를 들어 다음과 같이 해볼 수 있습니다.

 u = User.find_by_username('whateverUser')
 posts = Post.where(user_id: u.id)

그리고 이 게시물 목록에 표시되어야 한다고 생각하는 게시물들이 포함되어 있는지 확인해 보세요.

반대로, 다음과 같이

 p = Post.find(post_id_you_want)

하여 해당 게시물의 소유자가 누구인지 확인해 볼 수도 있습니다.

가져온 주제는 /my/activity/topics 페이지에는 표시되지만, 나 자신을 제외한 다른 사용자의 /posted 페이지에는 표시되지 않습니다.

가져온 게시물도 /my/activity/replies 아래에 표시되지만, 해당 주제는 나 자신을 제외한 다른 사용자의 /posted 페이지에는 표시되지 않습니다.

예시 주제를 통해 확인했습니다. /t/xxx.json의 user_id가 /u/yyy.json의 사용자 id와 일치하지만, 주제 xxx는 사용자 yyy의 /posted 페이지에 표시되지 않습니다.

제공해 주신 코드를 실행해 볼 수도 있지만, 제 판단으로는 소유권 문제라고 볼 만한 이유가 없어 보입니다.

참고로, 과거에 게시물 소유권 변경과 관련하여 유사한 문제가 있었습니다. 이 문제가 현재 상황에 대한 추가적인 단서를 제공할 수 있지 않을까요?

말씀하신 것과 비슷한 문제인 것 같습니다(완전히 같은 것은 아니지만), 해당 커밋에서 업데이트된 코드를 자세히 살펴볼 수 있을 것 같습니다.