非员工用户在UI中缺少Messages链接

我有一个用于测试事物或权限等的 test-TL1 用户。但今天我注意到此用户无法使用“消息”。

我可以发送消息,或通过通知打开它,或通过直接 URL 打开它,但在以下位置没有消息 URL:

  • 我的个人资料
  • 在新的侧边栏中
  • 在通知菜单的子选项卡中,“消息”不可见

有人知道如何修复这个问题吗?
该用户是 TL1,应该可以访问私人消息。
例如,我的个人资料页面应该在这里有“消息”:

4 个赞

我认为我可以确认这一点。我将把它移到 #bug。:+1:

  • personal message enabled groups 设置为 trust_level_1
  • TL1/2/3 用户可以发送和访问 PM,在用户菜单或用户区域中没有 Messages 选项卡

我在 Meta 上也看到了:

3 个赞

嗯,谢谢你的确认。在 Meta 上,我是 TL3,但消息标签对我来说是可见的。

1 个赞

实际上,我把 Meta 测试搞砸了…… :slight_smile: 我之前把我的测试用户降级到了 TL0,并且忘记了他。将他们提升到 TL1 后,“消息”选项卡就出现了。不过,这可能有助于我弄清楚为什么在我的测试站点上没有发生同样的情况。

1 个赞

我之前试过了,从 TL1 改为 TL0,再改回 TL1,甚至改为 TL3,但都没有任何区别。

而且安全模式也无法为我解决此问题。

2 个赞

在我的测试站点上,非工作人员用户似乎看不到它。将我的测试用户提升到 Mod 以下的任何级别都无法使其显示。不过,这在 Meta 上不是问题。:thinking:

2 个赞

我刚刚更新了另一个实例,然后登录了一个 TL1 用户,菜单和配置文件中的消息消失了。我在这里没有使用新的/实验性的侧边栏/通知菜单。

这正是我在两个实例上遇到的情况。

2 个赞

我今天早上更新了我的测试站点,以便再次尝试解决这个问题,现在我不再看到这个问题了。消息选项卡现在会显示给非员工用户。我不知道这是否是由于最近的一次更新(我没有看到任何相关的提交),或者可能是我更改的某个设置/我在测试其他问题时所做的事情。:thinking:

为了排除这个问题,你能更新到最新版本看看是否有帮助吗?

(顺便说一句,我在研究其他问题时也启动了一个新的测试站点,并且该站点上的新 TL1 测试用户也在正确的位置显示了消息选项卡)

1 个赞

在过去 24 小时内,我进行了两次重建,但问题至今仍未解决。奇怪……不知道是什么原因。安全模式也无法解决……

我注意到 TL1 用户在个人资料偏好设置页面上也无法使用“允许其他用户给我发送私人消息和聊天直接消息”。

我在测试新的 direct message enabled groups(以及现有的 chat allowed groups)插件设置时,正好遇到了标签页出现又消失的窗口期。更改和重置这些设置有很小的几率会触发问题?

1 个赞

我刚尝试了这些聊天设置,之前我已经用其他设置进行了一些测试,看看是否存在 bug。所以也许我还有一些旧的设置仍然启用?不确定……

编辑:将“发送消息的最低信任级别”设置为“0:新用户”确实能让消息显示出来,尽管我已经将用户提升到了 TL1。


编辑2:根据最新的发现,总结如下:在下面看到的设置下,除了管理员/版主之外,没有人能看到消息。如果我将“发送消息的最低信任级别”设置为“0:新用户”,那么包括 TL0 在内的所有人都将看到消息部分。在两个实例上都表现出相同的行为。

“启用了私人消息的用户组”有一些效果,在用户页面上,如果用户没有所需的 TL,消息按钮就会被移除。但是,消息选项卡仅在“发送消息的最低信任级别”设置为“0:新用户”时才显示。

1 个赞

我已将我们的 Discourse 实例更新到 2.9.0.beta10,但未启用新的侧边栏功能。我们的用户注意到,在点击右上角的头像时,个人消息图标已从菜单栏中消失,尽管作为管理员,我仍然可以看到我的。该图标是否因新的侧边栏菜单启动而被移除?有什么方法可以恢复它吗?谢谢!

管理员菜单栏:

普通用户菜单栏:

谢谢!

3 个赞

我已将您的帖子移至此主题,因为它听起来像是同一个问题。:+1:

我希望第二份报告现在能更容易地查明问题,因为我无意中修复了我的问题,但没有弄清楚是如何修复的。:slightly_smiling_face:

您能否尝试将“发送消息的最低信任级别”从 TL0 更改回 TL1,看看重置它是否有帮助?

1 个赞

不,这没有帮助。

值得注意的是:如果您将上述设置设置为 TL0,保存并刷新页面,它看起来是这样的:

我也注意到我的也是这样。我认为它仍然会在员工日志中记录一些关于设置更改的内容,但会链接到 personal_message_allowed_groups。我明天需要对此进行更深入的研究,但也许可以从那里着手查看我是否能追踪到我做了什么。

1 个赞

我正在查看这个问题,因为我添加了 personal_messages_enabled_groups 设置。这种行为出乎意料:

看起来发生的情况是,在 UI 中更改 enable_personal_messagesmin_trust_to_send_messages 设置也会更改 personal_message_enabled_groups 设置。如果取消选中 enable_personal_messages 并保存,它会清除 personal_message_enabled_groups,这会重现上述行为。或者,如果我将 min_trust_level_to_send_messages 设置为 TL1,它会将 personal_message_enabled_groups 设置为管理员。

我今天将打开一个 PR 来隐藏 UI 中的旧设置,并修复 SiteSettingsController 中无条件地将新设置的值设置为我们正在更改的旧设置的值的部分,即使 override 未设置为 true

将首先隐藏旧设置以止血。确保您将 personal_message_enabled_groups 设置为您想要的值,并保持其他设置不变,如果这仍然无法解决问题,请告诉我。

2 个赞

已合并 PR 以隐藏旧设置:

4 个赞

谢谢,我刚重新构建了一下,但仍然落后一个提交,并且在 /admin/upgrade 上也没有显示有可用的更新。明天再试。再次感谢,晚安!

2 个赞

我刚刚合并了另一个修复程序,所以其他未在 UI 中隐藏的已弃用设置不应再出现此问题 FIX: Deprecated settings should not override from UI by martin-brennan · Pull Request #18536 · discourse/discourse · GitHub

2 个赞

看起来旧的设置已被移除,但所有 TL 群组仍然被忽略,并且只有在新设置被设为“所有人”时,用户才能获得“消息”访问权限。

1 个赞