主题已关闭,没有系统记录

好主意!当我尝试以普通用户身份删除自己的主题时,该主题确实会关闭,但不会生成一条注明关闭的小型操作帖子(这在代码中此处发生)。如果我恢复已标记为删除的主题,同样不会创建小型操作帖子。就这一点而言,这种行为在我看来是正常的。

这里的变数似乎是版主。我认为我们需要弄清楚他们做了什么以及为什么这么做。

@FabbyConfiguring VPN using nmcli - Network - Manjaro Linux Forum 上有一处我无法查看的编辑。你能确认一下编辑的性质吗?是不是出现了“(主题被作者删除)”的情况?

1 个赞

我看到的全部信息是:那篇帖子 已从 #support 重新分类到 #network 类别……

审核历史中没有其他记录,也没有用户备注……除了它必须由版主“打开”(并非重新打开,只是打开)。

:thinking:

1 个赞

这种情况仍在发生,我们每发现一个都会继续追踪。下次我们是否应该恢复它们,并告知您被删除的项目?

如果您愿意,我们可以为您创建一个模组,让您亲眼看到正在发生的情况……

:face_with_monocle:

我确信我们的版主并没有关闭该帖子。

我一直在观察我们的论坛——这似乎与原始发帖人删除原帖有关。出于某种原因,系统并未立即删除或隐藏该帖子,而是延迟了一段时间。该主题仅显示为已锁定,且没有任何系统记录,从而导致困惑。

我不确定是什么导致了这个问题,也不确定这些锁定的主题是否仅对高信任级别用户(TL4)可见。这是我一直在观察到的模式。

希望这有助于调试!

编辑:我还注意到,这些被锁定的原帖都没有任何回复。因此,该帖子一定是在创建后很短的时间内就被删除了。

如果是用户删除自己的话题,那么我认为这不算是一个 bug。只要没有回复,你就可以“删除”自己的话题。其运作方式类似于使用你任何非首帖上的垃圾桶图标(首先文本会被替换为“作者已删除”,然后在 24 小时后帖子会被隐藏)。

如果你是普通用户而非工作人员、版主或管理员等,该操作下方不会显示小型操作提示。

以下是我在 try.discourse.org 上刚刚创建的示例(不过演示网站会在每天结束时被清空,因此当你阅读时,它可能已经不存在了🙂):

https://try.discourse.org/t/deleted-topic-deleted-topic/1403

3 个赞

我不知道你那边是星期几(你发布这条消息时已经过了 9 个多小时,当时我查看 那个链接 时看到:

哎呀!该页面不存在或为私密页面。

就在昨天,我还看到过一个有回复的帖子,所以这绝对不“是”那个情况

:sob:

我使用的是英国时间(BST),但我不确定演示站点每天重置的具体时间。反正这个话题会在 24 小时后消失,所以我本应该截个图才对。:slightly_smiling_face:

不过后来发现,我其实只是在重复这个话题里之前已经说过的内容,所以是我的疏忽。:slightly_smiling_face:

希望你能找到解决办法。:crossed_fingers:

3 个赞

我需要更多信息才能深入调查这个问题。我愿意尝试一些其他方法,但目前可依据的线索实在有限。我认为仅以匿名用户身份查看某个话题,现阶段无法提供任何有用的信息。您可能需要联系 Marketplace 频道中有人能够深入检查您的日志、站点设置和数据库,以真正了解问题所在。

@littleviolette,您的站点是否禁用了编辑历史?本话题开篇的截图看起来并不像是作者自行删除的话题,因为内容完整存在,且时间戳旁没有编辑图标。如果是作者自行删除,应显示类似“作者已删除”的提示以及编辑标记。

@Fabby,目前我不确定您和 littleviolette 遇到的是否是同一问题。您曾根据 littleviolette 的一些回复,决定暂不跟进某些建议,因此我想重新确认一下:以下是否有后续进展?

另外,我还想了解您是否使用 API 或与其他服务有任何集成。

如果你们两位能根据自本话题开始以来所观察到的情况,再次简要总结一下问题,那将不胜感激!目前情况有些难以理清,如果能有一份总结供我在测试过程中随时参考,那就太好了!

2 个赞

嘿 Taylor,

摘要:

  1. 当前运行版本为 2.8.0.beta4,问题依然存在。

  2. 今日插件列表:

    名称 版本 启用? 说明
    Discourse-auto-deactivate 0.0.1 自动停用不活跃用户,使其需重新确认邮箱才能再次登录
    discourse-chat-integration 0.1 此插件将 Discourse 与多种聊天提供商集成
    discourse-fingerprint 2 计算用户指纹,帮助管理员对抗网络喷子
    discourse-push-notifications 0.3.0 用于集成 Chrome 和 Firefox 推送通知的插件
    discourse-solved 0.1 为 Discourse 上的答案添加“已解决”按钮
    discourse-user-notes 0.0.2 允许工作人员为用户附加备注
    docker_manager 0.1 Discourse 镜像的 Docker 管理器
    procourse-installer 0.1 用于发现和安装其他 Discourse 插件的 Discourse 插件
    retort 1.2.3 Discourse 的 React7ions 插件
    styleguide 0.2 预览 Discourse 中部件的样式
  3. 已启用首帖无限次编辑:问题依然存在

  4. 如果我们 筛选,在该时间段内看不到任何记录:没有系统操作、没有 discobot、也没有版主。(如果我们能筛选掉 discobot 就太好了!)

  5. 我不明白这句话的意思:是否需要在该板块发布一个主题,说明问题定义及上述摘要,并请求有人能够深入查看您的日志、站点设置和数据库,以真正了解发生了什么

  6. Discourse 是否有可用的技术信息(HTML / Wiki / PDF 手册;请勿提供视频!),让我们能够自行排查此问题?因为我们这里有一群Nerd 和Geek(大写的 N 和 G),我们的版主团队拥有 PostgreSQL、网络、虚拟化、开发人员、*nix 工程以及 Windows 专业人士。

:question:

1 个赞

如果您检查数据库中的 topics 表,应该能够确定主题被关闭的确切时间(例如通过检查 updated_at 列)。您可能需要运行一个脚本,定期导出主题表的内容,以便回溯历史。如果您已设置 PostgreSQL 复制日志,或许可以利用它。

接下来,您需要找出是否有触发此事的原因。这可能是 Sidekiq 任务(因此您需要检查 Sidekiq 任务队列,查看当时运行了哪些任务)、用户操作(因此您需要检查 production.log 或 nginx 日志文件),或是外部操作者(API 客户端、Zapier 等)调用 API(这也可以在 production.log 或 nginx 日志文件中找到)。

3 个赞

Richard,

  • 感谢提供的信息。如果我知道该去哪里查找,我相信那对我会非常有帮助。:grin:
  • 能否请你退后三步,给我提供一个描述“步骤 1"的文档链接?我是该网站的版主,但从未安装过 Discourse。而且 Manjaro 的 Discourse 管理员同时也是 Manjaro 项目的负责人,他们非常忙碌。
  • 仅拥有版主权限是否足够,还是我需要被提升为所有者(Owner)才能进行如此深入的操作?

我对 Discourse 仅有的了解如下:

  • Sam 和 Code_horror 是创始人。
  • 它运行在 PostgreSQL 后端之上(我之前安装并运行过)。
  • 在版主之上还有一个层级,即所有者(Owner)。
  • Discourse 是非常优秀的软件!:joy:

:upside_down_face: :confused:

我有点困惑。

既然您提到:

那么他们应该能理解我的意思吧?

无论如何,我并没有这样的文档。如果您需要如此多的手把手指导,恐怕您最好还是遵循 Taylor 的建议,最终在 Marketplace 中发帖。这里没有“所有者”这一角色,您需要系统级别的访问权限(即在 Discourse 之外,直接在系统本身上操作)。

4 个赞

谢谢。现在更清楚了。我会在模组论坛本地发布这次对话的摘要,看看会有什么结果。

:+1:

1 个赞

@tshenry

感谢您的跟进,并为延迟回复致歉。以下是我们目前观察到的情况:

  1. 某些主题显示为已锁定,但系统中没有任何记录表明是系统或用户将其锁定的。日志中也无法找到相关记录。这种神秘的自动关闭仅发生在仅包含首帖的主题上,根据用户提交的下图推测,这似乎发生在帖子创建后不久(截图显示原帖创建于 2 分钟前)。

  1. 在原帖创建约一天后,系统会删除该原帖。以下是两个主题的完整时间线:它们先被无理由锁定,随后被系统删除。

原帖创建时间:2021 年 8 月 26 日 下午 6:34
系统删除原帖时间:2021 年 8 月 27 日 下午 6:41

原帖创建时间:2021 年 7 月 31 日 下午 5:48
系统删除原帖时间:2021 年 8 月 1 日 下午 6:02

以下是我在今日线程首帖中发布的主题截图示例:

关于我们的论坛配置:

  1. 我们未隐藏编辑历史;
  2. 据我们所知,我们未安装任何非官方插件。以下是我们论坛已安装的插件列表:

  1. 我们在某些分类中设置了主题自动关闭功能,但这种神秘的自动关闭也发生在未设置自动关闭计时器的分类中;
  2. 我们未设置“已解决主题自动关闭小时数”;
  3. 我们的版主不会手动为主题添加自动关闭计时器,也不会尝试手动取消现有计时器;
  4. 出现此问题的主题并非在不同分类之间移动过的主题;
  5. 我们运行的是 2.8.0.beta6 版本,两天前刚更新。近期我们未收到关于此类异常自动关闭行为的报告。如果再次发现,我会及时汇报。

感谢您的帮助!

4 个赞

汇报如下:

我最近发现两个由同一原始发帖人(OP)发布的线程被自动关闭,但系统中没有相关记录。我立即联系了该 OP,询问他是否只是删除了帖子,OP 确认了这一点。这种情况发生在一个未设置自动关闭计时器的分类中。

我怀疑问题与 OP 删除首帖有关。然而,当我这次重新打开其中一个线程后,原帖在 24 小时后并未被删除。我不确定原因,但希望这能为具备排查能力的人员提供一些背景信息。

非常感谢!

3 个赞

@tshenry 如果这有助于调试,在我们的 discourse.group 论坛上这种情况也发生了两次。这是一个神秘关闭的话题(已重新打开)的链接:https://igraph.discourse.group/t/how-should-i-do-for-reducing-graph-object-memory-usage/909

我在 Discourse Meta 上询问了这个问题:

编辑:似乎当发帖用户尝试删除其帖子时会出现这种情况。已删除的帖子对外部查看者显示为锁定状态,但没有任何迹象表明该帖子实际上已被删除(而不仅仅是锁定)。好消息是,发帖人可以通过“恢复删除”来“解锁”它。有关更多详细信息,请参阅上述链接的话题。

3 个赞

哦,这看起来非常有希望!最近我手头有很多其他事情,所以一直没有很好的机会深入进去。我会尝试在本周再次尝试。希望我能根据大家分享的大量信息,想出一个明确的复现步骤交给开发团队。

感谢所有帮助尝试解决这个问题的人!

编辑:本周时间不够了,但已将其列为下周的首要任务。

3 个赞

@IAmGav :wave:

您能否确认一下您为复现此问题所采取的所有步骤?目前任何细节都不算太小!我在 try.discourse.org 上尝试了多次、多种方式,但均未成功触发该问题。您碰巧能在那里触发它吗?

以下是我从用户角度尝试的主要要点:

  • 使用与您完全相同的话题标题和内容
  • 立即自行删除话题
  • 在编辑宽限期过后自行删除话题
  • 分别在信任级别 0 和 1 下操作
  • 选择一个分类和标签

在所有情况下,帖子中均出现了编辑修订记录,且内容被替换为“(话题已被作者删除)”。

我也正在与 @szhorvat 联系,以尝试覆盖管理员方面的情况,希望能查看是否有任何有趣的站点设置配置。

1 个赞

我在 try.discourse 上尝试过,它确实表现出了预期的行为。

我也在我昨晚为测试创建的网站上尝试过,它也正常工作。

所以问题可能出在那个网站上。

1 个赞

我在网站上执行了以下步骤以复现该问题:

  1. 创建账户
  2. 确认账户邮箱
  3. 创建普通帖子
  4. 删除已创建的帖子

就是这么简单

1 个赞