用户提及限制:澄清错误消息?

你好,

Discourse 中有一个功能会限制消息中用户提及的数量,对于“新”用户(信任级别 0)的限制会更多。

如果你不知道我的意思,这是 Discourse 源代码中的实现:

这是一个很好的功能,但碰巧,我们有几个用户不小心达到了这个限制,并且感到困惑。问题是,他们不打算提及用户。他们只是“忘记”了(或者不知道如何)格式化消息中包含的代码片段,而该片段是 Java 代码,它包含注解,以 @ 开头,并被解释为用户提及。

此类代码的示例:

public class MyCode {

@NotNull
private String foo;

@NotNull
private String bar;

@NotNull
private String foobar;

}

错误消息很简单:

抱歉,新用户每帖只能提及 2 个用户

你可以想象,一个不熟悉如何在 markdown 中格式化代码的用户可能也不熟悉什么是用户提及,即使他们熟悉它,他们也可能不明白他们本意是 Java 注解却被解释为用户提及。

那么……也许这个功能的用户体验可以得到改善?

我们可以讨论 Discourse 自动检测源代码并建议格式化它,或者突出显示验证失败的消息部分,但这两种解决方案可能都需要大量工作。

我只是想到了扩展错误消息以解释什么是用户提及,也许还会提供一些建议?

所以至少是这样:

抱歉,新用户每帖只能提及 2 个用户。
用户提及是前面带有 `@` 的单词,例如 `@johnsmith`。

甚至可能这样:

抱歉,新用户每帖只能提及 2 个用户。
用户提及是前面带有 `@` 的单词,例如 `@johnsmith`。
如果你的帖子包含源代码,请确保用反引号将其括起来,以避免代码部分被解释为用户提及;请参阅 <在此处插入一些关于在 discourse 中格式化代码的文档链接>。

想法,意见?我应该发送一个 pull request 吗?恐怕我只能更新英语和法语的本地化文件。

供参考,一些困惑用户的示例:

有一个 Theme component 正在做这件事

2 个赞

谢谢!太好了,我不知道它存在。希望它能从一开始就阻止用户陷入这种境地 :slight_smile:

1 个赞

如果即使安装了“未格式化代码检测器”主题组件后问题仍然存在,您也可以在 /admin/customize/site_texts 页面更改此消息的文本,还可以调整 newuser max mentions per post 管理员设置本身,以防它带来的麻烦多于解决的麻烦。 :slight_smile:

3 个赞

太棒了,我不知道原来可以自定义 Discourse 中出现的任何文本。搞定了!

那么,我想应该真的不需要 Pull Request 了 :slight_smile:

1 个赞