自动将人员加入私人聊天频道不再工作了吗?

我周五更新了我的 Discourse 自托管安装,我落后了大约两周。我目前的版本是 3.5.0.beta2-dev(712302c020)。

我创建了一个基于我们一个私有分类的私人聊天频道,并选择了“是”自动添加有权访问该分类的 7 位用户:

但它没有成功,唯一添加的用户是我自己:

我尝试搜索用户添加,但结果为 0,即使其他管理员也无法添加:

肯定有一个用户可以添加:

但同样,第一步应该已经添加了群组中的 7 个人。我也尝试运行 Jobs::Chat::AutoJoinUsers sidekiq 作业,但没有成功。此外,我在日志中也没有看到任何错误。

在升级之前,我以同样的方式设置了另外 2 个频道,并且这个过程进行得很顺利。

我将尝试更新到最新的版本,但最新的提交似乎无关紧要。

2 个赞

编辑:已解决! 是我的错,忘了更新权限 Automatically adding people to a private chat channel is no longer working? - #12 by cultiv

不幸的是,更新到 3.5.0.beta2-dev ( 558c566ca8 ) 并没有解决问题。

我发现当我搜索一个我应该可以添加的用户时,返回了 1 个 total_rows,但 memberships 数组是空的:

而当我搜索自己的名字时,total_rows 也是 1,并且返回了我的账户:

1 个赞

这是否与我在升级之前添加的这个 PR 有关?

不确定我该如何降级到此提交之前的版本,然后我就可以测试这是否是问题的原因 :thinking:

另外需要注意的是,我的论坛的开发版本(单独的实例)和我的线上版本都遇到了同样的问题。它们都已升级到此 PR 之上。

1 个赞

我没有立即的答复,但我们会关注此事,谢谢。

3 个赞

我设法降级到了 3.5.0.beta1,并刷新了所有浏览器缓存等。但我仍然遇到这个问题。

我知道我之前使用的是不到两周的最新版本,当时设置了两个频道并自动添加人员,当我选择“是”从现有群组添加人员时,一切都进行得很顺利。

现在,我再次尝试,除了一个频道外,其他频道都无法正常工作。举例说明:

所有这些频道应该有 6 名或更多成员。当只有 1 名成员时,那就是我。那里的“多元化、公平和包容团队”是唯一一个始终添加了群组所有成员的频道。
我在线网站上的“Packages team”在我创建时运行良好,所有 10 人都已添加。它之前在开发网站上也运行良好。现在,当我将其删除并在开发网站上重新添加时,它始终只添加 3 名成员。
我比较了群组,所有群组设置都完全相同。我也尝试过从群组中删除和添加人员,但这也没有区别。

最后,当我将一个从未属于该群组的用户添加到群组时,它似乎会将其添加到聊天频道。但是,当我删除现有成员并重新添加时,情况并非如此。
我甚至删除了聊天频道,从群组中删除了人员,重新添加了聊天频道,并将旧用户添加回群组。这没有奏效。添加一个随机的其他用户可以正常工作。

也许我的实例中有什么东西完全搞砸了……我没有机会在全新的实例中进行测试。

我很乐意提供一些 SSH 访问权限和开发网站的管理员访问权限,这是一个开发网站,所以我可以随意搞砸任何东西 :sweat_smile: :joy:

编辑:现在已升级到几小时前发布的最新提交。我尝试将一个全新的群组(包含相同的人员)添加到现有的私有类别中,看看是否有帮助,但结果相同,没有人被添加到聊天频道。

自从您创建频道以来,是否有其他用户在您的 Discourse 上活跃过?或者注销后又重新登录了?

我刚刚尝试重现这个问题,是的,在创建频道后我只看到一个成员。每次我以有权访问该类别的其他用户身份登录时,成员计数就会增加。这些用户能够看到完整的频道历史记录,所以这并不是从他们登录时才开始的。

因此,这看起来像是一个用户体验/用户界面错误——如果成员列表立即显示有权访问的所有用户,那肯定会减少混淆!

感谢您的查看!恐怕大多数人最近都已在线,即使我冒充其中一些人,他们仍然没有被添加到类别聊天频道中。

不过,如果他们已经在一个聊天频道中,我无法添加他们是有道理的。但不幸的是,他们既看不到频道,也无法访问其直接 URL。

我应该补充一下,我的类别设置如下:

  • 社区团队
    • 核心协作者团队
    • 包团队

等等。所有组都可以访问顶级类别,每个单独的组都可以访问其自己的子类别。我怀疑这会有任何区别,因为这对某些团队来说是有效的。

我甚至尝试在数据库中手动添加一些人(INSERT INTO user_chat_channel_memberships…),但要么我没有更新正确的表,要么由于其他原因它就是不想工作。无论如何,我在这件事上都没有运气 :sweat_smile:

问题找到了,是我的问题……:person_facepalming:

再次检查一遍,我注意到“允许聊天的群组”里并没有添加所有群组。在我们网站上,我们对谁可以聊天有严格的规定,我忘了我只设置了特定的“允许聊天的群组”:see_no_evil_monkey:

问题已解决,感谢反馈!

3 个赞

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.