Nous avons un certain nombre de vieux groupes sur notre site qui n’ont aucun message dans leur boîte de réception ou leurs archives, mais ils sont toujours visibles dans la barre latérale et sur /my/messages.
Cela ressemble certainement à un bug. Si la boîte aux lettres de groupe est définie sur personne, elle ne devrait pas être visible à mon avis.
J’imagine qu’une solution de contournement pourrait être d’utiliser le Theme component pour ajouter des groupes en tant que classes, puis d’utiliser chaque classe de groupe pour afficher none sur les boîtes aux lettres de groupe définies sur personne. Je dis d’utiliser des classes de groupe car j’imagine que si vous utilisez du CSS pour les masquer en général, cela pourrait également masquer la boîte aux lettres du groupe des modérateurs.
Ces anciens groupes contenaient-ils auparavant des messages ? J’ai un groupe sur mon site personnel qui ne contenait qu’un seul message et la boîte de réception apparaît dans la barre latérale. Je viens de supprimer le message et la boîte de réception du groupe s’affiche toujours.
Le message supprimé n’apparaît plus dans les boîtes de réception, même pour moi en tant qu’administrateur. J’ai pu y revenir via l’historique de mon navigateur et voir qu’il existe toujours en tant que message supprimé. J’ai essayé de supprimer le groupe et cela ne m’a pas permis. Je l’ai restauré et supprimé le groupe. Ensuite, j’ai supprimé le message pour être sûr.
La boîte de réception s’affiche toujours - je suspecte donc qu’il y a encore un autre message supprimé dans cette boîte de réception de groupe.
Donc oui, il y a un bug ici, je pense - si les seuls messages dans une boîte de réception de groupe sont supprimés, alors la boîte de réception du groupe ne devrait pas apparaître dans la barre latérale.
La seule solution pour le moment, je pense, est de supprimer le groupe et de le recréer.
Il serait intéressant d’utiliser l’explorateur de données pour obtenir l’ID de publication de tous les messages supprimés dans une boîte de réception de groupe afin de confirmer ma théorie et de jeter un coup d’œil à ces publications.
Avez-vous déclenché le travail de cohérence de la base de données par la suite ? Je pense qu’une fois qu’il a été exécuté, la boîte de réception n’apparaît plus
J’ai exécuté le travail de cohérence de la base de données, mais les boîtes de réception sont toujours là. Je suis un utilisateur administrateur sur le site si cela fait une différence. Mais elles devraient disparaître car elles sont vides – latest, new, unread, archive n’ont aucun message.
Cette requête d’explorateur de données renvoie-t-elle des sujets ?
-- [params]
-- group_id :inboxgroup
SELECT tg.topic_id, t.id AS topic_exists, t.deleted_at
FROM topic_allowed_groups tg
LEFT JOIN topics t ON t.id = tg.topic_id
WHERE tg.group_id = :inboxgroup
AND (
t.deleted_at IS NULL
OR t.id IS NULL
)
Il ne devrait afficher des sujets que si la boîte de réception est affichée.
J’ai déjà trouvé un moyen pour que cela se produise même si la boîte de réception est vide :
Après qu’un message envoyé à ce groupe est transformé en sujet public.
Donc :
Créer un nouveau groupe
Permettre au moins aux administrateurs d’envoyer des messages au groupe
Ajouter un membre au groupe pour vérifier si la boîte de réception est affichée
Envoyer un message au groupe
Utiliser l’option “rendre sujet public” dans le menu clé à molette de l’administrateur
La boîte de réception est vide mais même après l’exécution du travail de cohérence de la base de données, la boîte de réception ne disparaît pas
Et dans ce cas, la requête du Data Explorer ci-dessus renvoie ce sujet.