Temos vários grupos antigos em nosso site que não têm mensagens em sua caixa de entrada ou arquivo, mas ainda são visíveis na barra lateral e em /my/messages.
Isso definitivamente parece um bug. Se definido como ninguém, a caixa de correio do grupo, na minha opinião, não deve ser visível.
Imagino que uma solução alternativa possa ser usar o Theme component para adicionar grupos como classes e, em seguida, usar cada classe de grupo para exibir none nas caixas de correio de grupo definidas como ninguém. Eu digo para usar classes de grupo, pois imagino que se você usar CSS para ocultá-los em geral, isso também pode ocultar a caixa de correio do grupo de moderadores.
Esses grupos antigos continham mensagens anteriormente? Tenho um grupo no meu site pessoal que tinha apenas uma mensagem e a caixa de entrada aparece na barra lateral. Acabei de excluir a mensagem e a caixa de entrada do grupo ainda está aparecendo.
A mensagem excluída não aparece mais nas caixas de entrada, nem mesmo para mim como administrador. Consegui voltar a ela no histórico do meu navegador e ver que ela ainda existe como uma mensagem excluída. Tentei remover o grupo e não consegui. Eu a restaurei e removi o grupo. Em seguida, excluí a mensagem para garantir.
A caixa de entrada ainda está aparecendo - então suspeito que ainda há alguma outra mensagem excluída nessa caixa de entrada do grupo.
Portanto, sim, há algum bug aqui, eu acho - se as únicas mensagens em uma caixa de entrada de grupo forem excluídas, a caixa de entrada do grupo não deve aparecer na barra lateral.
A única solução no momento, eu acho, é excluir o grupo e recriá-lo.
Seria interessante usar o explorador de dados para obter o ID da postagem de quaisquer mensagens excluídas em uma caixa de entrada de grupo para confirmar minha teoria e dar uma olhada nessas postagens.
Executei o trabalho de consistência do banco de dados, mas as caixas de entrada ainda estão lá. Sou um usuário administrador no site, se isso fizer alguma diferença. Mas elas deveriam desaparecer, pois estão vazias – latest, new, unread, archive não têm mensagens.
Esta consulta do explorador de dados retorna algum tópico?
-- [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
)
Deve exibir tópicos somente se a caixa de entrada estiver visível.
Já encontrei uma maneira para que isso aconteça, mesmo que a caixa de entrada esteja vazia:
Depois que uma mensagem enviada para esse grupo é transformada em um tópico público.
Então:
Crie um novo grupo
Permita que pelo menos os administradores enviem mensagens para o grupo
Adicione um membro ao grupo para verificar se a caixa de entrada está visível
Envie uma mensagem para o grupo
Use a opção “tornar tópico público” no menu de ferramentas do administrador
A caixa de entrada está vazia, mas mesmo após a execução do trabalho de consistência do banco de dados, a caixa de entrada não desaparece
E neste caso, a consulta do explorador de dados acima retorna esse tópico.