使用允许私信工作人员插件时加载单个组时出错

当我转到“群组”页面(domain.com/g)时,它正在获取所有群组,但当我尝试进入任何特定群组时,会出现以下错误。此错误与所有群组都存在。

我是这些群组的所有者,并且我已经从普通用户的帐户进行了检查,对于此特定用户类型也出现了相同的错误。

请帮助我解决此问题。

您能否在尝试访问群组时查看您的 \\logs 或浏览器控制台,看看那里是否有关于错误的更多详细信息?

谢谢你的帮助,


这是浏览器控制台中出现的错误

请展开那些错误并将消息复制到此处的代码块中?

/groups/EPiC.json:1          加载资源失败: 服务器响应状态码为 500 ()
application.js:83 Objectabort: ƒ (e)always: ƒ ()catch: ƒ (e)done: ƒ ()fail: ƒ ()length: 0name: \"add\"prototype: {constructor: ƒ}arguments: (...)caller: (...)[[FunctionLocation]]: jquery.js:3535[[Prototype]]: ƒ ()[[Scopes]]: Scopes[4]getAllResponseHeaders: ƒ ()getResponseHeader: ƒ (e)jqTextStatus: \"error\"overrideMimeType: ƒ (e)pipe: ƒ ()progress: ƒ ()promise: ƒ (e)readyState: 4requestedUrl: \"/groups/EPiC.json\"responseJSON: error: \"Internal Server Error\"status: 500[[Prototype]]: ObjectresponseText: \"{\\\"status\\\":500,\\\"error\\\":\\\"Internal Server Error\\\"}\"setRequestHeader: ƒ (e,t)state: ƒ ()status: 500statusCode: ƒ (e)statusText: \"error\"then: ƒ (t,n,i)[[Prototype]]: Object
error @ application.js:83
router.js:1064 处理路由时出错: group.members
(anonymous) @ router.js:1064
rsvp.js:23 Uncaught ObjecterrorThrown: \"\"jqXHR: abort: ƒ (e)always: ƒ ()catch: ƒ (e)done: ƒ ()fail: ƒ ()getAllResponseHeaders: ƒ ()getResponseHeader: ƒ (e)jqTextStatus: \"error\"overrideMimeType: ƒ (e)pipe: ƒ ()progress: ƒ ()promise: ƒ (e)readyState: 4requestedUrl: \"/groups/EPiC.json\"responseJSON: error: \"Internal Server Error\"status: 500[[Prototype]]: Objectconstructor: ƒ Object()hasOwnProperty: ƒ hasOwnProperty()isPrototypeOf: ƒ isPrototypeOf()propertyIsEnumerable: ƒ propertyIsEnumerable()toLocaleString: ƒ toLocaleString()toString: ƒ toString()valueOf: ƒ valueOf()__defineGetter__: ƒ __defineGetter__()__defineSetter__: ƒ __defineSetter__()__lookupGetter__: ƒ __lookupGetter__()__lookupSetter__: ƒ __lookupSetter__()__proto__: (...)get __proto__: ƒ __proto__()set __proto__: ƒ __proto__()responseText: \"{\\\"status\\\":500,\\\"error\\\":\\\"Internal Server Error\\\"}\"setRequestHeader: ƒ (e,t)state: ƒ ()status: 500statusCode: ƒ (e)length: 1name: \"statusCode\"prototype: {constructor: ƒ}arguments: (...)caller: (...)[[FunctionLocation]]: jquery.js:9487[[Prototype]]: ƒ ()[[Scopes]]: Scopes[4]statusText: \"error\"then: ƒ (t,n,i)[[Prototype]]: ObjecttextStatus: \"error\"[[Prototype]]: Object
DevTools 加载 source map 失败: 无法加载内容 chrome-extension://gighmmpiobklfepjocnamgkkbiglidom/browser-polyfill.js.map: 系统错误: net::ERR_FILE_NOT_FOUND
/message-bus/eb47113e4410479497a7f26dedf3819c/poll:1          加载资源失败: net::ERR_QUIC_PROTOCOL_ERROR

您在安全模式下遇到相同的错误吗?

我也尝试了安全模式,但仍然收到相同的错误。

请尽快帮助我解决这个问题,因为这对我们来说越来越关键,没有人能够加入任何群组。

注意 - 我已经升级了所有插件,并且我的 discourse 目前是最新版本。

我在测试站点上重现此问题时遇到困难。您的站点上是否有任何非官方插件可能产生影响?或者是否有其他值得注意的差异/怪癖,我可以尝试重现此问题?

我只使用了这些插件。我也尝试过安全模式,但仍然出现错误,因为在安全模式下它会禁用所有插件。
是否还有其他需要我提供的信息来重现此错误,请告诉我。

恐怕安全模式只禁用前端代码,而不禁用后端代码(这可以捕获大部分问题,但并非所有问题),所以仍然可能是插件的问题。最可能的是 allow-pms-to-staff 插件,因为它是列表中唯一一个非官方插件。你可以尝试从你的 app.yml 中移除它并重新构建,看看是否确实是它导致的问题?

最近有报告称它需要修复其他问题,尽管可能无关:

4 个赞

好的,我也来试试。

请告知我移除插件是否解决了问题。我不明白插件怎么会引起这个问题,但我也找不到其他原因导致您遇到此问题。

2 个赞

是的,你说得对,这个插件确实是问题的根源。移除该插件后,它现在可以正常工作了。
@pfaffman 请您帮忙修复一下,因为您的插件对我们非常重要。

4 个赞

所以这是一个非官方插件 GitHub - pfaffman/discourse-allow-pm-to-staff: Allow private messages to be sent to staff for users who could otherwise not send private messages. 中的 bug

将此移至 Support

@pfaffman 没看到这个插件的主题?

3 个赞

确实。我只是随口一提,没想到有人会用它。:person_shrugging:

2 个赞

我真的认为这个功能应该包含在 Discourse 核心中,特别是所有活跃用户都能向工作人员发送新私信的能力,无论他们的信任等级或私信发送限制如何。我收到了许多(公开的)报告,来自试图联系我但无法联系的新 0 级用户。而为 0 级用户启用通用的用户间私信是一个坏主意。

是的,在插件的最新更改后,问题现已得到修复。

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