Lorsque mes utilisateurs visitent la page « /posted » (par exemple, https://meta.discourse.org/posted ), elle n’inclut pas les sujets dont les publications ont été importées d’un site précédent. Et ce, malgré le fait que leurs publications apparaissent sur la page « /u/xxx/activity/topics ».
Cependant, pour mon propre compte, la page « /posted » semble fonctionner correctement avec le contenu importé. J’ai fusionné mon compte importé avec le compte principal avec lequel l’instance discourse a été créée, donc c’est peut-être la raison ?
S’agit-il d’un bug ? Si quelqu’un peut m’aider à comprendre ou du moins me montrer le code backend du dépôt discourse pour le filtre /posted, je pourrai tenter de résoudre le problème moi-même. En tant que personne relativement nouvelle dans Ruby et Rails, la structure des fichiers du github de discourse m’échappe encore complètement. Je vous remercie !
C’est mon hypothèse. Si les publications ont été créées par un utilisateur autre que celui qui est connecté, c’est le comportement attendu, n’est-ce pas ?
Si les comptes importés ne sont pas les mêmes que les comptes que les gens utilisent, vous devrez corriger cela.
Sur mon compte, j’ai fusionné mon compte d’administrateur initial de Discourse avec mon compte importé de l’ancien forum. Tous les sujets dans lesquels j’ai jamais posté s’affichent correctement sur /posted
Pour tous les autres, le compte qu’ils utilisent a seulement été importé de l’ancien site. Pour eux, seuls les sujets dans lesquels ils ont posté après l’importation s’affichent sur /posted. J’ai confirmé cela en utilisant un compte alternatif de test que j’ai
Je suppose que les publications importées devraient toujours avoir de l’importance en ce qui concerne ce qui s’affiche sur /posted, donc le comportement est correct pour mon compte mais pas pour tous les autres utilisateurs. Je suppose que l’étape de fusion est ce qui a fait cela car elle attribue toutes mes anciennes publications à un nouveau compte après leur importation
Ce que je ferais ensuite, c’est de confirmer que les publications qui n’apparaissent pas dans /posted appartiennent bien à l’utilisateur qui les recherche. Quelque chose comme
u = User.find_by_username('quelqueUtilisateur')
posts = Post.where(user_id: u.id)
Et voir si ces publications incluent celles que vous pensez devoir apparaître ou non.
Inversement, vous pourriez
p = Post.find(id_de_la_publication_que_vous_voulez)
et voir quel utilisateur possède cette publication.
Les sujets importés apparaissent sur la page /my/activity/topics et non sur la page /posted pour les utilisateurs autres que moi.
Les messages importés apparaissent également sous /my/activity/replies, mais les sujets correspondants n’apparaissent pas sur la page /posted pour les utilisateurs autres que moi.
J’ai également confirmé par un exemple de sujet. L’user_id sur /t/xxx.json correspond à l’id de l’utilisateur sur /u/yyy.json, mais le sujet xxx n’apparaît pas sur /posted pour l’utilisateur yyy.
Je peux également essayer d’exécuter le code que vous avez fourni, mais il ne semble pas y avoir de raison de penser qu’il s’agit d’un problème de propriété, d’après ce que je peux dire.
Pour information, il y a eu un problème similaire avec le changement de propriétaire d’un post il y a quelque temps. Je me demande si cela pourrait fournir des indices supplémentaires pour votre situation ?
il semble s’agir d’un problème similaire, comme vous le dites (pas tout à fait le même cependant), peut-être que je peux approfondir le code qui a été mis à jour dans ce commit