「/posted」フィルターにインポートされたトピックが含まれていないのはなぜですか?

ユーザーが「/posted」ページ(例:https://meta.discourse.org/posted)にアクセスした際、以前のサイトからインポートされた投稿があるトピックが含まれません。これは、彼らの投稿が「/u/xxx/activity/topics」ページに表示されているにもかかわらずです。

ただし、私自身のアカウントでは、「/posted」はインポートされたコンテンツでも正常に機能しているようです。しかし、インポートされたアカウントを、Discourseインスタンスが作成されたプライマリアカウントとマージしたので、これが原因かもしれません。

これはバグでしょうか?誰かが理解するのを手助けしてくれるか、少なくともDiscourseリポジトリの「/posted」フィルターのバックエンドコードを教えていただければ、自分で問題を解決できるかもしれません。RubyとRailsは比較的初心者なので、DiscourseのGitHubのファイル構造はまだ完全に理解できていません。よろしくお願いします!

それが私の推測です。投稿がログイン中のユーザー以外のユーザーによって作成された場合、これは予期された動作ですよね?

インポートされたアカウントが、人々が使用しているアカウントと同じでない場合は、それを修正する必要があります。

「いいね!」 1

明確にしておくべきかもしれません

私の В аккаунте я объединил свою первоначальную учетную запись администратора discourse с импортированной учетной записью со старого форума. Все темы, в которых я когда-либо публиковал сообщения, правильно отображаются в разделе /posted

Для всех остальных учетная запись, которую они используют, была только импортирована со старого сайта. Для них в разделе /posted отображаются только темы, в которых они публиковали сообщения после импорта. Я подтвердил это, используя тестовую альтернативную учетную запись.

Я предполагаю, что импортированные сообщения должны по-прежнему учитываться при определении того, что отображается в разделе /posted, поэтому поведение корректно для моей учетной записи, но не для всех остальных пользователей. Я предполагаю, что шаг слияния сделал это, потому что он назначает все мои старые сообщения новой учетной записи после их импорта.

次に、表示されていない投稿が、探しているユーザーのものであることを確認します。たとえば、次のようになります。

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

そして、表示されるべきと思われる投稿が含まれているかどうかを確認します。

逆に、次のこともできます。

p = Post.find(post_id_you_want)

そして、どのユーザーがその投稿を所有しているかを確認します。

「いいね!」 1

インポートされたトピックは、私以外のユーザーの場合、/my/activity/topics ページに表示され、/posted ページには表示されません。

インポートされた投稿も /my/activity/replies に表示されますが、対応するトピックは、私以外のユーザーの場合、/posted ページには表示されません。

例となるトピックでも確認しました。/t/xxx.jsonuser_id は、/u/yyy.json のユーザー id と一致しますが、トピック xxx はユーザー yyy/posted に表示されません。

提供されたコードを実行することもできますが、私の知る限り、これは所有権の問題であると考える理由はなさそうです。

参考までに、以前にも投稿の所有権を変更する際に同様の問題が発生しました。それがあなたの状況にさらに手がかりを与える可能性があると思いますか?

「いいね!」 1

おっしゃる通り、似たような問題のようです(ただし、全く同じではありません)。おそらく、そのコミットで更新されたコードを詳しく調べてみます。

「いいね!」 1