Apply "mailing list mode" per category

我遇到的行为不一致,所以明天我会在 try.discourse.org 上测试,并控制前两个变量:

  • 不同的网络浏览器?
  • 不同的站点设置?
  • 管理员账户与非工作人员 TL1 用户?

以下是两个不同的示例:

  • 管理员在 Firefox 上访问该站点:未读主题仍然显示,但子类别(wordpress)被隐藏。在“支持”类别中,第一个主题来自该子类别:

  • 非管理员在 Chrome 上访问私有站点:子类别(Connect)未按预期被隐藏,但主题被隐藏了——请查看“1 个新主题”的提示:
    image

顺便一提,我之前遇到的移动设备问题仅仅是由于缓存引起的。为了避免这种情况,我每次更改偏好设置时都会重启 Discourse 应用。

说得对。我检查了一下,被静音的子分类主题会出现在父分类中,无论是管理员还是普通用户都能看到。

所以……这是不是个 bug?

再次你好
我有时间进行了完整测试,发现子分类静音功能按预期工作。

我无法复现此问题。如果你仍然遇到该问题,下一步请提供实际截图,展示静音子分类的设置以及显示已静音子分类主题的类别视图。

我的测试方法

我无法在 try.discourse.org 上向你展示子分类静音功能正常工作,因为该站点没有子分类。因此我使用了自己的私有实例,这也是为什么我必须对可识别信息进行脱敏处理。

我无法让已静音子分类中的主题在对应分类中显示。我必须进入该已静音子分类才能看到其中的主题。

分类不显示已静音子分类,也不显示其主题

如果我查看包含已静音子分类的父分类,则无法看到该已静音子分类中的任何主题。但我可以看到未静音的“Connect”子分类,因此其中的“Test topic”会显示出来。

我可以在“最新 | 分类”视图中看到该主题,但无法看到位于名为“Create”的已静音子分类中的“Test topic 2”或“Test topic 3”:
image

已静音子分类的视图会显示其主题

如果我查看名为“Create”的已静音子分类,则可以看到其中包含的所有主题。显然,必须有一种方式可以访问这些主题,因此它们会在对应的子分类中可见。

为确认功能正常工作,“Test topic 2”和“Test topic 3”(位于已静音子分类中)在“最新 | 分类”视图中不可见:
image

1 个赞

对我来说,已静音子类别的主题在“分类”视图中可见,但在“最新”视图中不可见。

父类别“公告”包含 2 个子类别:

--------6pm 正常可见
--------8am 已静音

在“公告 - 全部 - 最新”视图中,您只能看到未静音的 ------6pm 子类别的主题:

但正如您所见,在“分类”视图中,--------8am 的主题会显示在父类别“公告”下:

因此,对我来说,这显然是一个错误。

这正是静音的作用。它会让这些主题不显示,除非你主动去查找。

你希望发生什么情况?

很抱歉,但这让我完全无法理解。

再说一次:在“分类”视图中,已静音子分类的主题是可见的。
为什么?

但是,当我点击父分类(公告)时,已静音子分类的主题却消失了。

我无法理解这种行为。
如果它们本不该显示,那为什么在分类视图中却可见呢?

据我理解,它们从“最新”等列表中被隐藏了,但如果你访问该分类,还是能找到它们的。如果你希望永远看不到它们,就需要将它们从列表中移除。

如果它们在你访问该分类时不显示,你又如何能看到它们呢?

再次强调,它们确实在顶部/主分类视图中显示——请参见下图:

你可以看到来自已静音的 —8am 分类的 8 点主题。
为什么会这样?

然后,当我选择/点击父级“公告”分类时,已静音的分类及其主题并未显示出来。

如果我理解正确,这似乎是预期行为,但我不明白为什么已静音分类的主题会出现在父级分类的视图里——请参见图 1。

1 个赞

我只是对几个现象感到好奇。

主题标题左侧的那些(文件?)图标是什么?也许是第三方插件导致的,安全模式或许能“解决”这个问题。

分类真的被命名为“破折号 破折号 破折号 … 时间”吗?据我所知,这属于未预见的边界情况,算不上真正的 bug。

好问题,我也一头雾水……但每个主题旁边都有。

不,当然不是!我只是编辑了图片以隐藏真实的分类名称。
你也可以把它们命名为 aaaaaa8am 和 bbbbbb6pm。

1 个赞

实际上,这些小图标也出现在这个 meta.discourse 页面中:

我认为这只是为了表明这是一个普通主题,而不是例如“置顶”主题。

所以……我们这边没有什么特别的设置,

2 个赞

我认为这个话题已经偏离了最初关于邮件列表模式通知的主题。停止通知的解决方案涉及两种方法。首选方法基本上取决于哪种类别占比更小:

  • 仅关注你希望接收通知的类别
  • 屏蔽你不想接收通知的类别

这就是为什么我测试了“最新 | 类别”视图,它不会显示来自已屏蔽子类别的主题。结果符合预期。

但现在我们讨论的是一个不同的问题。我没有测试“类别”视图,因为据我所知,它与邮件列表模式通知无关。

因此,我认为这个问题应该被移动到一个新的主题中。

1 个赞

我这里有两种思路。它们都不是完整的设计方案,但希望能有所帮助。

注意:这里的复杂性在于各类通知之间的关系。想象一下,如果只保留这些设置(分别显示在主题、子分类、分类和全局范围内),其余全部移除:

  • 通知:继承 | 所有帖子 | 首帖 | 提及 + 回复 | 从不
  • 追踪:继承 | 所有帖子 | 首帖 | 提及 + 回复 | 从不
  • 邮件:继承 | 所有帖子 | 首帖 | 提及 + 回复 | 从不

全局设置不会有“继承”选项,因为它是最高层级。
主题设置不会有“首帖”选项,因为它无法 retroactively(追溯性地)应用。

减少设置的数量——例如将“追踪”和“通知”合并为一个连续选项——可以让通知配置更快,但这并不一定让它们在考虑与邮件设置的关系时变得更简单

⇒ 如果你/当你切换到按分类的邮件列表模式时,当前这些简化方案或关系可能就不再是你想要保留的了。

这正是将我引到这里的原因。对我来说,“邮件列表模式”(与“为每条通知发送邮件”相对)意味着我主动承担起管理通知(在我的邮箱中)的责任——Discourse 应假定我已阅读所有通过邮件发送给我的帖子。对于开启了邮件列表模式的分类,我绝不应收到未读通知(不过,我仍然欢迎那些被自动标记为已读的通知)。

1 个赞

如果邮件列表模式默认发送所有未静音的分类,并且只需一两次点击就能轻松静音某个分类,我倒是不介意。我们这些主要使用电子邮件接口的用户觉得,手动进入网页界面,点击头像,再点击个人图标,进入偏好设置,选择分类,在已静音区域找到想要静音的分类并选中,这个过程非常繁琐。如果每封邮件底部的“取消订阅”按钮能增加选项,允许静音子分类或整个分类,那会方便得多。我可能错过了,但我搜索过,没发现有人讨论过这种可能性。大家觉得这个简单的想法如何?

1 个赞

您也可以直接点击铃铛图标,按类别、标签或主题更改您的通知偏好设置。您无需通过用户偏好设置来完成此操作。

至于邮件中的静音按钮……不妨试试点击邮件底部的“取消订阅”按钮。它会为您提供一些选项,包括“停止关注此主题”和“停止关注所有主题”,这意味着您将收到更少的邮件。

2 个赞

我没注意到那个铃铛图标,这倒是个有用的信息。不过,我在铃铛图标上只看到了“主题”选项:


该如何获取“分类”选项呢?

在启用邮件列表模式且未关注特定分类的情况下,它并未提供取消订阅该分类的选项,这正是我想指出的问题。作为新用户,我无法发布第二张图片,但它提供的选项如下:

  • 停止关注此主题:[主题名称]
  • 关闭邮件列表模式
  • 不再接收来自 [Discourse 名称] 的任何邮件

访问该分类,并在右上角寻找铃铛图标。

明白了,这样确实更简单。所以,我不再点击“取消订阅”,而是点击“访问主题”,然后选择页面顶部的类别,接着点击铃铛图标并将其设为静音。虽然需要点击 4 次,比我原本希望的 2 次要多,但比起进入用户偏好设置并搜索该类别,还是要方便得多。

经过一番思考——作为一名使用邮件列表模式的用户,我有一个具体的建议:

  1. 将“邮件列表模式”移至“电子邮件”分类的顶部,并将标题重命名为 通知邮件
  2. 将“在邮件中包含回复帖子的摘要”选项直接移至其下方。
  3. 将其改为 三选一下拉菜单
    1. 从不为我发送通知邮件
      • 隐藏除活动摘要外的所有设置。
    2. 收到通知时为我发送邮件
      • 保持当前工作方式。
    3. 用邮件代替通知(邮件列表模式)
      • 用“为我自己的帖子发送邮件”选项替换“在邮件中包含回复帖子的摘要”设置。
      • 显示说明文字,指出:
        • 邮件中将包含帖子的 完整内容
        • 通知和帖子本身都将被 自动标记为已读

这样一来,我就可以像目前控制通知一样,仅通过调整特定类别的“关注”设置,即可按类别控制邮件列表模式。这不会增加额外的设置,复杂度也没有明显提升。同时,它为那些完全不想接收通知邮件的用户提供了一个简单的开关。

4 个赞

我实际上认为,从纯邮件列表迁移的最初目标将无法实现@smichel17 的建议,因为这使得邮件列表的设置依赖于“已关注”状态。我一直在寻找一个可以实现邮件列表“按类别”的设置,同时也能正常使用论坛的其余部分。

我们的情况是,我们有一个新的 Discourse 论坛,它非常活跃,但只被我们社区中更活跃的成员使用。然后我们有一个遗留的 Mailman 实例,几乎所有的成员都在那里。这个 Mailman 实例是基于地理位置的(我们组织中的每个分会都有一个邮件列表,他们每月使用几次来安排会议,这是多层次的)。

理想情况下,我们将在 Discourse 中重新创建 Mailman 的地理结构,并将这些类别设置为邮件列表模式。这意味着现有的被动用户仍然可以获得相同的信息访问权限,但我们的 IT 开销会降低(不再需要 Mailman),而且用户可以更容易地参与到 Discourse 论坛本身。

然而,如果我理解正确的话,这目前在 Discourse 中是不可能实现的,还是我误读了这个帖子?