Фильтр /posted не включает импортированные темы?

Когда мои пользователи заходят на страницу «/posted» (например, https://meta.discourse.org/posted), в ней не отображаются темы, в которые были импортированы сообщения с предыдущего сайта. При этом сами сообщения видны на странице «/u/xxx/activity/topics».

Однако для моей собственной учётной записи страница «/posted» работает корректно и включает импортированный контент. Возможно, это связано с тем, что я объединил импортированную учётную запись с основной, которая была создана при запуске экземпляра Discourse?

Это баг? Если кто-то сможет помочь мне разобраться или хотя бы указать на код на бэкенде в репозитории Discourse, отвечающий за фильтр /posted, я попробую найти проблему самостоятельно. Поскольку я относительно новичок в Ruby и Rails, структура файлов на GitHub проекта Discourse пока остаётся для меня не до конца понятной. Заранее спасибо!

Это моё предположение. Если сообщения были созданы не тем пользователем, который вошёл в систему, то такое поведение ожидаемо, верно?

Если импортированные аккаунты не совпадают с теми, которыми пользуются люди, вам нужно это исправить.

Возможно, мне стоит уточнить.

На моем аккаунте я объединил свой первоначальный аккаунт администратора Discourse с импортированным аккаунтом со старого форума. Все темы, в которых я когда-либо публиковал, корректно отображаются в разделе /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 для других пользователей.

Я также подтвердил это на примере темы. Значение user_id в ответе /t/xxx.json совпадает с идентификатором пользователя id в ответе /u/yyy.json, но тема xxx не отображается на странице /posted для пользователя yyy.

Я также могу попробовать запустить предоставленный вами код, но, насколько я могу судить, нет оснований полагать, что проблема связана с правами владения.

Кстати, некоторое время назад возникала похожая проблема с изменением владельца поста. Не исключено, что это может дать дополнительные подсказки для вашей ситуации?

Кажется, это похоже на проблему, о которой вы говорите (хотя и не совсем та же самая). Возможно, я смогу углубиться в код, который был обновлен в этом коммите.