无法上传头像,没有将所有群组添加到已允许上传头像的群组中

我有一个用户想上传自定义头像,但无法上传。我从未在其他用户身上遇到过此问题。他处于信任级别 2,但即使是信任级别 0 也设置为允许上传头像。

有人知道我可能忽略或不知道的其他设置吗?感谢任何帮助。截图如下:

以用户身份登录时的截图:

管理员设置截图:

image

用户详细信息截图:

授权扩展?他们可以上传图片吗?

2 个赞

我们有数千名用户,其他人都可以毫无问题地上传图片,所以我认为这与授权扩展无关。这位用户根本看不到上传选项。

他们是否尝试过多个文件?我的第一反应是文件大小,无论是尺寸还是文件大小本身。

1 个赞

该用户创建有什么特别之处吗?您是否使用了 DiscourseConnectdiscourse connect overrides avatar 还会阻止用户上传头像。

1 个赞

没有——他们根本没有任何上传选项。

我们确实使用 DiscourseConnect,但其他用户从未遇到任何问题。

安全模式会改变任何东西吗?

我在 DiscourseConnect 中没有看到该用户的任何异常日志活动:

[2024-05-30 01:59:26] sso_provider.INFO: parse_request.success {\"user_id\":169965}

我们不使用 WordPress 头像。那应该完全在 Discourse 中控制:

image

安全模式无效。

请尝试使用其他浏览器和/或隐身窗口。

1 个赞

其他浏览器无法正常工作。这绝对是权限问题。而且,事情变得越来越复杂,因为我测试了其他几个用户,似乎每个人都遇到了这个问题(据我所知,管理员除外)。

它只显示系统分配的选项。

作为管理员,我看到了其他选项:

好的,我明白了。我将每个信任级别和用户可能属于的每个可能组都添加到了允许上传个人资料图片的组列表中:

但是,之前它只设置为 trust_level_0,所以任何信任级别 高于 TL0 的人都无法上传个人资料图片。奇怪的是,当我查看用户配置文件时,每个人都在这个组中,即使他们后来被提升到了更高的信任级别。最近的版本有什么变化吗?似乎如果将 TL0 指定为上传所需级别,它会自动授予更高信任级别相同的权限。

trust_level_0uploaded_avatars_allowed_groups 的默认值。

正如你所料,每个人都在 tl0。

在不查看提交记录的情况下,我猜测存在一个 bug,或者更可能的是,曾经存在一个 bug,并且升级将修复它。

它应该就是这样工作的。

你可能需要分享你的确切提交记录,并(可能)查看之前的(以及可能之后的)提交记录的标题。

我编辑了主题,如果这是一个 bug,也许能引起更多关注。

4 个赞

太棒了。我们使用的是 3.2.1 版本,确切的提交在这里:Commits · discourse/discourse · GitHub

1 个赞

嗯,我不知道。你可以试试升级到最新版本看看是否能解决问题。

我没有看到任何明显的提交记录。

我无法在我的一个站点上重现该问题。

1 个赞

这可能是群组可见性问题,如果它是 stable 的话。

您能否尝试在群组设置中将您的 TL0 群组的可见性更改为“所有人”,看看是否能达到预期效果?(并将 uploaded_avatars_allowed_groups 重置为仅 TL0)

3 个赞

我在具有 TL2 的测试用户上于我的 Stable 实例上进行了测试。无法重现。我的测试用户在上传头像时没有问题

Discourse Stable 3.2.2

我认为是默认的组设置

如果您将 TL0 组的可见性设置为“员工”或“无人”,那么还会出现此 bug 吗?

感谢您,@Firepup650

TL0 组的可见性被设置为“组所有者和版主”。将其更改为“所有人”可以解决此问题。因此,我们无法隐藏信任级别的成员,同时仍然允许人们选择自己的头像。这似乎很奇怪,因为为什么一个会影响另一个。他们要么在组里,要么不在。

无论如何,如果需要,我可以接受。至少我知道了。我将保持信任级别组隐藏,因为这会在我的社区中引发很多问题,并且我将添加其他组,以便他们仍然可以编辑他们的头像。

1 个赞