大家好,
我们的网站上有许多旧群组,它们的收件箱或存档中没有任何消息,但它们仍然显示在侧边栏和 /my/messages 页面上。
我找到了这个旧帖子,但它没有提供适合我的解决方案:Messaging: Group inboxes and archives show even after all messages deleted
还有其他建议吗?
大家好,
我们的网站上有许多旧群组,它们的收件箱或存档中没有任何消息,但它们仍然显示在侧边栏和 /my/messages 页面上。
我找到了这个旧帖子,但它没有提供适合我的解决方案:Messaging: Group inboxes and archives show even after all messages deleted
还有其他建议吗?
这些旧群组……我想知道您是否可以编辑群组并将“谁可以给此群组发送消息?”更改为“无人”?
或者这些旧群组是否仍然需要群组邮箱?
对不起没有早点回复,但所有群组的“谁可以给这个群发消息”都设置为“无人”。
我还能检查其他什么吗?
这听起来确实像一个 bug。如果设置为“无人”,我认为该群组邮箱不应该可见。
我想到的一个变通方法是使用 #theme-component 将群组添加为类,然后使用每个群组类来隐藏设置为“无人”的群组邮箱。我说使用群组类是因为我想象如果使用 CSS 来隐藏它们,可能会也隐藏版主群组邮箱。
那些旧群组以前有消息吗?我的个人网站上有一个群组,里面只有一条消息,收件箱会显示在侧边栏。我刚刚删除了消息,群组收件箱仍然显示着。
已删除的消息不再显示在收件箱中,即使对我这个管理员来说也是如此。我能够通过浏览器历史记录浏览回它,并看到它仍然作为已删除消息存在。我尝试删除该群组,但它不允许我这样做。我取消了删除,然后删除了该群组。然后为了保险起见,我删除了消息。
收件箱仍然显示着——所以我怀疑该群组收件箱中仍然存在其他已删除的消息。
所以是的,我认为这里存在一个 bug——如果群组收件箱中唯一的消息已被删除,那么群组收件箱不应显示在侧边栏中。
目前唯一的解决方法是删除群组并重新创建它。
使用数据浏览器获取群组收件箱中任何已删除消息的帖子 ID 来证实我的理论,并查看这些帖子,这将很有趣。
你之后触发了数据库一致性作业吗?我认为一旦它运行完毕,收件箱就不再显示了。
好主意!对我来说奏效了。
编辑:帖子中的链接主题对我很有帮助。不知道你那边是怎么回事 @alehandrof.. 问题最终消失了吗?
我运行了数据库一致性作业,但收件箱仍然存在。如果这有什么区别的话,我是一个管理员用户。但它们应该消失,因为它们是空的——latest、new、unread、archive 都没有任何消息。
我卡住了 ![]()
此数据浏览器查询是否返回任何主题?
-- [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
)
在我的情况并非如此。![]()
只有当收件箱显示时,才应显示主题。
我已经找到了实现这一目标的方法,即使收件箱是空的:
在发送到该群组的消息被设为公开主题之后。
所以:
在这种情况下,上面的数据探索器查询会返回该主题。