Plugin Discourse solved lanza error 500

Recientemente actualicé mi versión de Discourse y todos mis complementos están actualizados.
Después de la actualización, ahora recibo un error 500 al intentar marcar una respuesta como solución.

A continuación, se detallan los errores que obtengo en la consola.

    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
1 me gusta

¿Tienes instalados complementos no oficiales? ¿Funciona en modo seguro con solo complementos y temas oficiales?

1 me gusta

Sí, tengo instalado un plugin no oficial y no he comprobado en modo seguro (no sé cómo hacerlo :noobface:).

Sin embargo, revisé los registros y mostraron lo siguiente:
ArgumentError (palabra clave desconocida: duration) /var/www/discourse/app/models/topic.rb:1138:in 'set_or_create_timer'
(Rastreo si te interesa: https://pastebin.com/chKtDTeL.)

Luego fui a la configuración de temas resueltos y establecí las horas de cierre automático en 0 (valor anterior 72) y ahora funciona, pero realmente quiero usar esta función. ¿Alguna ayuda?

1 me gusta

simplemente ve a /safe-mode en tu sitio para acceder a la configuración del modo seguro. Se ve así:

1 me gusta

Ok, alguien de mi equipo ya lo intentó.
· Desactivar plugins no oficiales (por ejemplo, nuestro plugin de insignias) no resolvió el problema.
· Desactivar nuestro tema (por ejemplo, JavaScript personalizado) no resolvió el problema.
· Desactivar plugins no oficiales y el tema juntos tampoco resolvió el problema.
Usando el modo seguro.

No intenté desactivar todos los plugins porque, ya sabes, eso también desactivaría la solución :grin:

1 me gusta

¿Tienes algún complemento para Pavilion?

1 me gusta

Parece estar relacionado con lo que encontré en los registros. La última actualización realizada por el autor del plugin es esta

1 me gusta

No hay plugins de pavilion

2 Me gusta

Acabo de actualizar mi sitio personal a la última versión y activé el plugin solved, y funciona bien para mí. No puedo replicar el problema.

2 Me gusta

Creo que he encontrado el problema. Estamos en la versión estable (no en la predeterminada tests-passed), la cual aún no incluye el cambio de ‘duration’.

1 me gusta

¡Gracias por investigar esto, lo aprecio mucho! Creo que simplemente esperaremos a que la rama estable se actualice para usar esta función.

1 me gusta

Hola, tengo el mismo problema:

Versión de Discourse:

Mis extensiones:

Lo he intentado en modo seguro y ocurre lo mismo.

El registro de errores:
image

Mensaje

ArgumentError (palabra clave desconocida: duration)
/var/www/discourse/app/models/topic.rb:1138:in `set_or_create_timer'

Rastreo de la pila

/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'

Gracias por tu ayuda.

Hola a todos,
¿Tenéis tiempo para una idea?

Estás en una versión específica de Discourse que probablemente no tenga la función retrocompatibilizada. El plugin ‘solved’ funciona bien con la rama ‘tests-passed’ más reciente, así que considera actualizar a esa versión.

1 me gusta

¿Por qué?
Estoy en una versión inestable.

Así que, si entiendo bien, ¿la versión estable no es una buena opción para un servidor de producción de Discourse?

  ## ¿Qué revisión de Git debe usar este contenedor? (predeterminado: tests-passed)
  version: stable

Es bueno, pero generalmente muy, muy antiguo y carece de nuevas funciones. Deberías usar realmente tests-passed, ya que es lo suficientemente estable y contiene todas las nuevas funciones y mejoras de rendimiento.

Ok, gracias por tu respuesta.

Hice una corrección ayer. ¿Podrías actualizar el plugin discourse-solved y confirmarme si el problema se ha solucionado para ti?

4 Me gusta

Hola @kris.kotlarek,
me parece bien con esta versión:

Gracias

3 Me gusta

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