Discourse-Lösungs-Plugin wirft 500-Fehler

Ich habe kürzlich meine Discourse-Version aktualisiert und alle meine Plugins sind auf dem neuesten Stand.
Nach dem Update erhalte ich nun einen 500-Fehler, wenn ich versuche, eine Antwort als Lösung zu markieren.

Im Folgenden finden Sie die Fehlerdetails, die ich in der Konsole erhalte.

    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

Hast du inoffizielle Plugins installiert? Funktioniert es im abgesicherten Modus nur mit offiziellen Plugins und Themes?

Ja, ich habe ein inoffizielles Plugin installiert und habe den abgesicherten Modus nicht getestet (ich weiß nicht, wie man das macht :noobface:).

Ich habe jedoch die Protokolle geprüft, und dort stand folgendes:
ArgumentError (unknown keyword: duration) /var/www/discourse/app/models/topic.rb:1138:in 'set_or_create_timer'

(Hier ist der Backtrace, falls Sie interessiert sind: https://pastebin.com/chKtDTeL.)

Anschließend bin ich zu den gelösten Einstellungen gegangen und habe die automatische Schließung auf 0 Stunden gesetzt (vorheriger Wert: 72). Jetzt funktioniert es, aber ich möchte diese Funktion wirklich nutzen. Gibt es Hilfe?

Gehe einfach zu /safe-mode auf deiner Website, um auf die Safe-Mode-Einstellungen zuzugreifen. Sieht so aus:

Ok, jemand von meinem Team hat das bereits versucht.
· Das Deaktivieren inoffizieller Plugins (z. B. unseres Badges-Plugins) hat das Problem nicht behoben.
· Das Deaktivieren unseres Themes (z. B. benutzerdefiniertes JavaScript) hat das Problem nicht behoben.
· Das gleichzeitige Deaktivieren inoffizieller Plugins und des Themes hat das Problem nicht behoben.
Sicherheitsmodus verwenden.

Ich habe nicht versucht, alle Plugins zu deaktivieren, denn wie du weißt, würde das auch die Lösung deaktivieren :grin:

Haben Sie irgendwelche Pavilion-Plugins?

Es scheint mit dem zusammenzuhängen, was ich in den Protokollen gefunden habe. Das letzte Update vom Plugin-Autor ist hier:

Keine Plugins von pavilion

Ich habe meine persönliche Website gerade auf die neueste Version aktualisiert und das ‘solved’-Plugin aktiviert. Bei mir funktioniert es einwandfrei. Ich kann das Problem nicht nachvollziehen.

Ich glaube, ich habe das Problem gefunden. Wir befinden uns auf der stabilen Version (nicht der Standard ‘tests-passed’), die die Änderung für ‘duration’ noch nicht enthält.

Vielen Dank, dass Sie sich darum gekümmert haben, das schätzen wir sehr! Wir werden einfach warten, bis der stabile Branch aktualisiert ist, um diese Funktion nutzen zu können.

Hallo, ich habe das gleiche Problem:

Discourse-Version:

Meine Erweiterungen:

Ich habe es im abgesicherten Modus versucht, aber das Ergebnis ist dasselbe.

Das Log:
image

Message

ArgumentError (unknown keyword: 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'

Danke für eure Hilfe

Hallo zusammen,
habt ihr eine Idee?

Du befindest dich auf einer bestimmten Discourse-Version, bei der die Funktion wahrscheinlich nicht zurückportiert wurde. Das ‘solved’-Plugin funktioniert einwandfrei mit dem neuesten ‘tests-passed’-Branch, also erwäge ein Upgrade darauf.

Warum?
Ich habe eine inoffizielle Version.

Also, wenn ich das richtig verstehe, ist die stabile Version nicht gut für einen Discourse-Produktionsserver???

  ## Welche Git-Revision soll dieser Container verwenden? (Standard: tests-passed)
  version: stable

Es ist gut, aber im Allgemeinen sehr, sehr alt und es fehlen neue Funktionen. Du solltest wirklich ‘tests-passed’ verwenden, da es stabil genug ist und alle neuen Funktionen sowie Leistungsverbesserungen enthält.

Okay, danke für deine Antwort.

Ich habe gestern eine Korrektur vorgenommen. Könntest du das Plugin discourse-solved aktualisieren und bestätigen, ob das Problem für dich behoben ist?

Hallo @kris.kotlarek,
mit dieser Version passt das für mich:

Danke