Plugin resolvido do Discourse lança erro 500

Recentemente, atualizei minha versão do Discourse e todos os meus plugins estão atualizados.
Após a atualização, estou recebendo um erro 500 ao tentar marcar uma resposta como solução.

Abaixo estão os detalhes do erro que estou recebendo no console.

    Falha ao carregar recurso: o servidor respondeu com status 500 ()
_application-ed0ac69…88e883e0db.js:11141 SyntaxError: Token inesperado < em JSON na posição 0
    em Function.parse [como parseJSON] (<anônimo>)
    em n (_application-ed0ac69…88e883e0db.js:11137)
    em e.popupAjaxError (_application-ed0ac69…88e883e0db.js:11180)
    em E (ember_jquery-8e338e1…8f98e499a037a9.js:1)
    em w (ember_jquery-8e338e1…8f98e499a037a9.js:1)
    em g (ember_jquery-8e338e1…8f98e499a037a9.js:1)
    em t.invoke (ember_jquery-8e338e1…8f98e499a037a9.js:1)
    em e.t.flush (ember_jquery-8e338e1…8f98e499a037a9.js:1)
    em e.t.flush (ember_jquery-8e338e1…8f98e499a037a9.js:1)
    em e.t._end (ember_jquery-8e338e1…8f98e499a037a9.js:1)
ember_jquery-8e338e1…8f98e499a037a9.js:1 Não capturado 
Object
jqXHR: {readyState: 4, getResponseHeader: ƒ, getAllResponseHeaders: ƒ, setRequestHeader: ƒ, overrideMimeType: ƒ, …}
textStatus: "error"
errorThrown: ""
_discourse_displayed: true
__proto__: Object

Você tem plugins não oficiais instalados? Ele está funcionando no modo de segurança, com apenas plugins e temas oficiais?

Sim, tenho um plugin não oficial instalado e não verifiquei no modo de segurança (não sei como fazer isso :noobface:)

No entanto, verifiquei os logs e eles mostraram o seguinte:
ArgumentError (palavra-chave desconhecida: duration) /var/www/discourse/app/models/topic.rb:1138:in 'set_or_create_timer'
(Rastreamento de volta, caso tenha interesse: https://pastebin.com/chKtDTeL.)

Então, fui até as configurações de resolução e defini as horas de fechamento automático para 0 (valor anterior: 72), e agora funciona. Mas realmente quero usar esse recurso. Alguma ajuda?

Acesse /safe-mode no seu site para acessar as configurações do modo de segurança. Ficará assim:

Ok, alguém da minha equipe já tentou isso.
· Desativar plugins não oficiais (por exemplo, nosso plugin de distintivos) não resolveu o problema.
· Desativar nosso tema (por exemplo, JavaScript personalizado) não resolveu o problema.
· Desativar plugins não oficiais e o tema juntos também não resolveu o problema.
Usando o modo seguro.

Não tentei desativar todos os plugins porque, você sabe, isso também desativaria a solução :grin:

Você tem algum plugin do Pavilion?

Parece estar relacionado ao que encontrei nos logs. A última atualização feita pelo autor do plugin é esta

Nenhum plugin do pavilion

Acabei de atualizar meu site pessoal para a versão mais recente e ativei o plugin solved, e está funcionando bem para mim. Não consegui replicar o problema.

Acho que encontrei o problema. Estamos na versão estável (não a padrão ‘tests-passed’), que ainda não possui a alteração de ‘duration’.

Obrigado por investigar, realmente aprecio! Acredito que vamos apenas aguardar até que a branch estável seja atualizada para usar esse recurso.

Olá, tenho o mesmo problema:

Versão do Discourse:

Minhas extensões:

Tentei no modo seguro, mas o problema persiste.

O log:
image

Mensagem

ArgumentError (palavra-chave desconhecida: duration)
/var/www/discourse/app/models/topic.rb:1138:in `set_or_create_timer'

Backtrace

/var/www/discourse/app/models/topic.rb:1138:in `set_or_create_timer'
/var/www/discourse/plugins/discourse-solved/plugin.rb:126:in `accept_answer!'
/var/www/discourse/plugins/discourse-solved/plugin.rb:206:in `accept'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/base.rb:196:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/rendering.rb:30:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/callbacks.rb:42:in `block in process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/activesupport-6.0.1/lib/active_support/callbacks.rb:135:in `run_callbacks'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/abstract_controller/callbacks.rb:41:in `process_action'
/var/www/discourse/vendor/bundle/ruby/2.6.0/gems/actionpack-6.0.1/lib/action_controller/metal/rescue.rb:22:in `process_action'

Obrigado pela ajuda.

Olá a todos,
Tem tempo para uma ideia?

Você está em uma versão específica do Discourse que provavelmente não tem o recurso feito de volta (backported). O plugin ‘solved’ funciona bem com a branch mais recente ‘tests-passed’, então considere fazer a atualização para ela.

por quê?
Eu estou em uma versão instável.

Então, se eu entendi bem, a versão estável não é uma boa versão para um servidor de produção do Discourse???

  ## Qual revisão do Git este container deve usar? (padrão: tests-passed)
  version: stable

É bom, mas geralmente muito, muito antigo e carente de novos recursos. Você realmente deveria usar ‘tests-passed’, pois é estável o suficiente e contém todos os novos recursos e melhorias de desempenho.

Ok, obrigado pela sua resposta.

Fiz uma correção ontem. Você poderia atualizar o plugin discourse-solved e confirmar se o problema foi resolvido para você?

Olá @kris.kotlarek,
essa versão está boa para mim:

Obrigado