“最近使用的设备”部分受“canCheckEmails”保护,这似乎出乎意料

如以下链接所示:

“偏好设置 > 账户”中该部分的可见性:

似乎取决于用户是否能够检查自己的电子邮件。作为一名插件开发者,这种行为令我感到意外,因为当我为该用户覆盖 can_check_email 值时,也会隐藏“最近使用的设备”部分,而后者似乎与电子邮件毫无关系。


这里的使用场景是:我们的网站启用了 SSO,而我们不希望显示电子邮件标签,因为由于我们与主网站的集成方式,这会让用户感到困惑,并且会导致我们在不同网站上显示个人身份信息(PII)的方式不一致。因此,我希望完全隐藏“偏好设置 > 账户”中的电子邮件标签。然而,我并不想隐藏“最近使用的设备”部分,因为这对用户和管理员来说是有用的信息。但由于电子邮件标签和“最近使用的设备”部分使用了相同的权限守卫,如果不覆盖模板或使用 CSS 变通方案,就无法实现仅隐藏前者。

看起来,将该守卫替换为类似 {{#if canCheckAuthTokens}} 的条件会更合理。(它可以最初从 canCheckEmails 进行别名化,以便快速修复,这样插件开发者在覆盖这些值时就能区分两者。)


如果该部分确实应该由 canCheckEmails 控制隐藏,是否有人能解释一下这样设计的语义依据是什么?

非常感谢!

我认为这里使用 canCheckEmails 是一个捷径,因为权限是相同的。

这听起来是个不错的方案——如果您有时间实现,我们将非常欢迎提交 PR。