用户名自动补全无法处理特殊字符?

您好,

我的论坛允许在用户名中使用常规的法语重音字符。

以下是一个使用重音字符不会触发自动完成的示例:

自动完成有效:

使用重音字符时自动完成无效:

尽管用户名 Aurélien 确实存在。

不使用重音字符也会在结果中返回 Aurélien,这没问题,但使用重音字符不应阻止自动完成工作。

6 个赞

我在 Meta 这里无法重现此问题。如果我输入 @ré,我会收到自动完成建议:

你在这里可以重现此问题吗?

2 个赞

现在您会找到真实姓名。如果用户名包含带重音的字符,会发生什么?

2 个赞

在 Meta 上找不到带有重音字符的用户名进行测试,但在我的本地实例上仍然有效:

3 个赞

这里有一位用户在 meta 上,名字里带有一个重音符号。我将输入名字的前几个字母,直到包含重音符号,看看会发生什么。

@Auré 在编辑器中输入时,不会返回名字或任何建议。名字的剩余字母是 lien,就像 Aurélien 一样。

输入整个名字也没有弹出任何建议名字,也没有在目录中将完整名字与同一用户关联起来。

但是,在搜索用户目录时,它确实有效。

4 个赞

我的只匹配特定字符:(我大约在 10 分钟前升级了)。

2 个赞

我刚将 Discourse 升级到最新版本,并在安全模式下进行了尝试,但问题仍然存在:

1 个赞

@Canapin 如果您的网站是公开的,您可以在此处或通过私信与我分享网址吗?我想登录您的网站进行一些调试。

您能再试一次吗?我查看了 Meta 的请求日志,没有看到您账户中搜索“Auré”一词的任何查询。我确实收到了“Auré”的自动完成建议:

1 个赞

当然,https://forum.monocycle.info/
如果您需要管理员访问权限,请告诉我。

2 个赞

@Osama,它现在可以在编辑器中运行了。之前可能是因为我将重音字符粘贴到了编辑器中。:roll_eyes:

1 个赞

我还没有找出这个 bug 的根本原因,但这似乎是一个服务器端问题,而不是客户端/JS 问题。这是自动完成库用来查找匹配用户的 API 端点:

/u/search/users.json?term=Auré&category_id=5&include_groups=true&limit=6`

我可以确认,当我输入 @Auré 时,@Canapin 的实例会向该端点发出请求,但响应结果为零。另一方面,Meta 在使用完全相同的参数调用该端点时会返回一些结果。

@Canapin,你能列出你实例上安装的所有插件(即使是禁用的)吗?

2 个赞

来了!

2 个赞

您好!

只是提醒您一下,这个问题在我查找某人的消息时仍然有点烦人……很高兴知道未来是否计划进行修复:slight_smile:

如果您需要另一个示例,也可以在同一个论坛上搜索用户名Stéphane

1 个赞

您好!

抱歉打扰,您之后有查看过这件事吗?

我明白这件事优先级不高。 :slight_smile:

2 个赞

抱歉,我能参考的信息不多,因为这个问题似乎是您特定实例的问题,并且是由服务器端的原因引起的,所以我无法在此端进行调试 :cry: 如果您能在 Meta 或其他任何实例上重现此问题,我很乐意再看看。

2 个赞

问题是不是系统在我们输入 Aure(无重音符号)时,不建议 Auré 名称?

1 个赞

不,问题在于 @Canapin 的实例在输入 Auré 时不包含 Aurélien 作为自动完成建议。

我们确实有一个 search_ignore_accents 站点设置,但不确定它是否适用于搜索用户,或者它是否仅限于帖子。

2 个赞

我又试了一次,现在可以了:

我现在回想起来,我甚至不确定我是在告诉你之前有没有再试一次……抱歉。 :sweat:

既然问题已经解决了,这个话题可以关闭或删除(如果对其他人没有用的话)。

5 个赞

我认为我们不需要删除,这个问题可能会再次出现,而且这个话题有足够的上下文来提供帮助。

3 个赞