Недавно я обновил версию Discourse, и все мои плагины актуальны.
После обновления при попытке пометить ответ как решение возникает ошибка 500.
Ниже приведены детали ошибки, которые я вижу в консоли.
Failed to load resource: the server responded with a status of 500 ()
_application-ed0ac69…88e883e0db.js:11141 SyntaxError: Unexpected token < in JSON at position 0
at Function.parse [as parseJSON] (<anonymous>)
at n (_application-ed0ac69…88e883e0db.js:11137)
at e.popupAjaxError (_application-ed0ac69…88e883e0db.js:11180)
at E (ember_jquery-8e338e1…8f98e499a037a9.js:1)
at w (ember_jquery-8e338e1…8f98e499a037a9.js:1)
at g (ember_jquery-8e338e1…8f98e499a037a9.js:1)
at t.invoke (ember_jquery-8e338e1…8f98e499a037a9.js:1)
at e.t.flush (ember_jquery-8e338e1…8f98e499a037a9.js:1)
at e.t.flush (ember_jquery-8e338e1…8f98e499a037a9.js:1)
at e.t._end (ember_jquery-8e338e1…8f98e499a037a9.js:1)
ember_jquery-8e338e1…8f98e499a037a9.js:1 Uncaught
Object
jqXHR: {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
textStatus: "error"
errorThrown: ""
_discourse_displayed: true
__proto__: Object
Да, у меня установлен неофициальный плагин, и я не проверял работу в безопасном режиме (не знаю, как это сделать :noobface:)
Однако я просмотрел логи, и там было следующее сообщение: ArgumentError (unknown keyword: duration) /var/www/discourse/app/models/topic.rb:1138:in 'set_or_create_timer'
Затем я зашел в настройки, связанные с решением тем, и установил значение «Автозакрытие через (часы)» на 0 (предыдущее значение было 72). Теперь всё работает, но я очень хочу использовать эту функцию. Есть ли какая-то помощь?
Хорошо, кто-то из нашей команды уже пробовал это: · Отключение неофициальных плагинов (например, нашего плагина значков) не решило проблему. · Отключение нашей темы (например, пользовательского JavaScript) не решило проблему. · Отключение неофициальных плагинов и темы вместе не решило проблему.
Используется безопасный режим.
Не пробовал отключать все плагины, потому что, как вы знаете, это отключит и исправленное решение
Я только что обновил свой личный сайт до последней версии и включил плагин solved, и у меня всё работает отлично. Мне не удалось воспроизвести проблему.
Я думаю, я понял проблему. Мы находимся на стабильной версии (не на стандартной тестовой с пометкой tests-passed), где изменения, касающиеся параметра ‘duration’, ещё не применены.
Вы используете конкретную версию Discourse, в которой, вероятно, функция не была перенесена обратно. Плагин Solved работает корректно с последней веткой tests-passed, поэтому рассмотрите возможность обновления до неё.
Это хорошо, но в целом версия очень старая и лишена новых функций. Вам действительно стоит использовать тесты-passed, так как она достаточно стабильна и включает все новые функции и улучшения производительности.