向群组发送消息时出错

向群组发送新消息时会出现错误信息:


(无法找到该消息的其中一位收件人)

向名为“admins”的群组(我也是管理员之一)发送消息则正常。

我们当前使用的是 2.5.0.beta5 版本(7bc496070f

更新:
我刚刚做了一个测试:所有包含大写字母的群组名称(我们几乎所有的群组名称都包含大写字母)都无法再作为消息收件人使用。
例如,“Testuser”无法使用,但将群组重命名为“testuser”后就可以正常工作。
将其改回“Testuser”后,错误再次出现。
因此,当前版本在向包含大写字母的群组名称发送消息时存在问题。

错误日志中多次显示以下最新错误,但我不确定该错误是否与上述问题相关(可能该错误是另一个问题)。

Message (39 copies reported)

Job exception: ERROR:  syntax error at or near "WHERE"
LINE 1: ...E groups SET flair_url = NULL, flair_upload_id =  WHERE id =...
                                                             ^



Backtrace

/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:110:in `exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/rack-mini-profiler-2.0.2/lib/patches/db/pg.rb:110:in `async_exec'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mini_sql-0.2.5/lib/mini_sql/postgres/connection.rb:135:in `run'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/mini_sql-0.2.5/lib/mini_sql/postgres/connection.rb:107:in `exec'
/var/www/discourse/app/jobs/onceoff/migrate_group_flair_images.rb:80:in `block in execute_onceoff'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3/lib/active_record/relation/delegation.rb:87:in `each'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activerecord-6.0.3/lib/active_record/relation/delegation.rb:87:in `each'
/var/www/discourse/app/jobs/onceoff/migrate_group_flair_images.rb:18:in `execute_onceoff'
/var/www/discourse/app/jobs/onceoff/onceoff.rb:25:in `execute'
/var/www/discourse/app/jobs/base.rb:232:in `block (2 levels) in perform'
3 个赞

如果您确定向群组发送消息的权限已正确设置,请检查 /g/ 中显示的群组名称与消息中的群组名称是否一致。

此前有几处因大小写敏感导致此错误。

https://meta.discourse.org/t/case-sensitivity-in-links-to-groupname/147596/8

1 个赞

好吧,这些群组每天会收到大量消息,在 beta4 版本中一切正常。
权限没有更改,群组成员和管理员都可以向该群组发送消息,我是该群组的成员,同时也是管理员群组的成员。
今天早上我升级到了 beta5,问题从那时开始出现。

消息中的群组名称与群组中的名称一致,即 “Team_CM_MP-Mod”。

2 个赞

这是群组的 namefull name,还是两者皆是?

1 个赞

这是组名,而非全名。
我刚做了一个测试:所有包含大写字母的组名(我们几乎所有的组名都包含大写字母)现在都无法作为消息接收方了。
例如,“Testuser”不再起作用,但将组名重命名为“testuser”后就可以正常工作。
一旦将其改回“Testuser”,错误又会出现。
因此,当前版本中在向包含大写字母的组名发送消息时存在某些问题。

2 个赞

好的,这证实了我上面提到的内容。看起来与这个提交有关:

@techAPJ 请留意!

4 个赞

感谢报告此问题!

此提交应能修复该问题:

7 个赞

刚刚安装了最新版的 Discourse,现在运行正常。
感谢修复。

3 个赞

我们遇到了同样的问题。我们是否应该直接将 Discourse 更新到最新的测试版?

为了日后参考,我们收到的英文消息是:“您发送消息的其中一个用户未找到。”

2 个赞

至少在我们的安装环境中,几个小时前更新的最新测试版已经解决了这个问题,所以我推测它应该也能解决你的问题。

2 个赞

谢谢!我之所以这么问,是因为我们今早(大约12小时前)更新了论坛,问题也是从那时开始的。GitHub 上链接的修复方案是3天前提交的,所以看起来我们应该已经是最新版本了……能麻烦您帮我查一下您当前运行的版本吗?

1 个赞

我在 2.5 小时前执行了更新,但修复是在 9 小时前才提交的(我刚刚在 GitHub 上确认了这一点)。
我运行的是 2.5.0.beta5 版本,Subversion 提交号为 c8370b9c78

3 个赞

你说得对,谢谢!

3 个赞

此主题已在 26 小时后自动关闭,不再接受新回复。