Ошибка загрузки индивидуальной группы при использовании плагина allow pm to staff

Когда я перехожу на страницу «Группы» (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 не удалось загрузить карту исходного кода: Не удалось загрузить содержимое для 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 и пересобрать приложение, чтобы проверить, действительно ли он вызывает проблему?

Недавно поступал отчёт о необходимости исправления для чего-то другого, хотя это может быть не связано:

Хорошо, давай попробую и это.

Дайте знать, решило ли удаление плагина проблему. Я не понимаю, как плагин мог это вызвать, но и других причин для такой проблемы я тоже не вижу.

Да, вы были правы: этот плагин вызывает проблему. После удаления плагина всё заработало.
@pfaffman, пожалуйста, исправьте это, так как ваш плагин нам очень необходим.

Подождите, значит, это ошибка в неофициальном плагине GitHub - pfaffman/discourse-allow-pm-to-staff: Allow private messages to be sent to staff for users who could otherwise not send private messages. · GitHub

Переношу это в Support

@pfaffman не вижу темы для этого плагина?

Действительно. Я упомянул это вскользь, не ожидая, что кто-то будет его использовать. :person_shrugging:

Я искренне считаю, что этот функционал должен быть в ядре Discourse, особенно возможность для всех активных пользователей отправлять новые личные сообщения сотрудникам независимо от их уровня доверия или лимита на личные сообщения. Я получил множество (публичных) обращений от новых пользователей уровня 0, которые пытались связаться со мной, но не могли этого сделать. А включение общих личных сообщений между пользователями уровня 0 — плохая идея.

Да, проблема исправлена после последних изменений в плагине