Topic Voting Plugin – Die Übersicht vergangener Stimmen fehlt, Benutzer haben Probleme beim Abstimmen

Hallo zusammen,

wir haben unsere Foren kürzlich auf 2026.4.0-latest umgestellt, und jetzt können Benutzer frühere Stimmen nicht mehr einsehen und haben Schwierigkeiten, abzustimmen. Ich habe die Protokolle geprüft, und es scheint, als würde das Topic-Voting-Plugin veraltete Funktionen verwenden. Hier ist der Stack-Trace:

activesupport-8.0.5/lib/active_support/broadcast_logger.rb:218:in 'block in ActiveSupport::BroadcastLogger#dispatch' 
activesupport-8.0.5/lib/active_support/broadcast_logger.rb:217:in 'Array#map' 
activesupport-8.0.5/lib/active_support/broadcast_logger.rb:217:in 'ActiveSupport::BroadcastLogger#dispatch' 
activesupport-8.0.5/lib/active_support/broadcast_logger.rb:129:in 'ActiveSupport::BroadcastLogger#warn' 
/var/www/discourse/lib/discourse.rb:1146:in 'Discourse.deprecate' 
/var/www/discourse/app/controllers/topics_controller.rb:467:in 'TopicsController#update' 
actionpack-8.0.5/lib/action_controller/metal/basic_implicit_render.rb:8:in 'ActionController::BasicImplicitRender#send_action' 
actionpack-8.0.5/lib/abstract_controller/base.rb:215:in 'AbstractController::Base#process_action' 
actionpack-8.0.5/lib/action_controller/metal/rendering.rb:193:in 'ActionController::Rendering#process_action' 
actionpack-8.0.5/lib/abstract_controller/callbacks.rb:261:in 'block in AbstractController::Callbacks#process_action' 
activesupport-8.0.5/lib/active_support/callbacks.rb:120:in 'block in ActiveSupport::Callbacks#run_callbacks' 
/var/www/discourse/app/controllers/application_controller.rb:447:in 'block in ApplicationController#with_resolved_locale' 
i18n-1.14.8/lib/i18n.rb:354:in 'I18n::Base#with_locale' 
/var/www/discourse/app/controllers/application_controller.rb:447:in 'ApplicationController#with_resolved_locale' 
activesupport-8.0.5/lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks' 
/var/www/discourse/app/controllers/application_controller.rb:1098:in 'ApplicationController#ensure_dont_cache_page' 
activesupport-8.0.5/lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks' 
activesupport-8.0.5/lib/active_support/callbacks.rb:140:in 'ActiveSupport::Callbacks#run_callbacks' 
actionpack-8.0.5/lib/abstract_controller/callbacks.rb:260:in 'AbstractController::Callbacks#process_action' 
actionpack-8.0.5/lib/action_controller/metal/rescue.rb:27:in 'ActionController::Rescue#process_action' 
actionpack-8.0.5/lib/action_controller/metal/instrumentation.rb:76:in 'block in ActionController::Instrumentation#process_action' 
activesupport-8.0.5/lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument' 
activesupport-8.0.5/lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument' 
activesupport-8.0.5/lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument' 
actionpack-8.0.5/lib/action_controller/metal/instrumentation.rb:75:in 'ActionController::Instrumentation#process_action' 
actionpack-8.0.5/lib/action_controller/metal/params_wrapper.rb:259:in 'ActionController::ParamsWrapper#process_action' 
activerecord-8.0.5/lib/active_record/railties/controller_runtime.rb:39:in 'ActiveRecord::Railties::ControllerRuntime#process_action' 
actionpack-8.0.5/lib/abstract_controller/base.rb:152:in 'AbstractController::Base#process' 
actionview-8.0.5/lib/action_view/rendering.rb:40:in 'ActionView::Rendering#process' 
rack-mini-profiler-4.0.1/lib/mini_profiler/profiling_methods.rb:90:in 'block in ActionController::Base#profile_method' 
actionpack-8.0.5/lib/action_controller/metal.rb:252:in 'ActionController::Metal#dispatch' 
actionpack-8.0.5/lib/action_controller/metal.rb:335:in 'ActionController::Metal.dispatch' 
actionpack-8.0.5/lib/action_dispatch/routing/route_set.rb:67:in 'ActionDispatch::Routing::RouteSet::Dispatcher#dispatch' 
actionpack-8.0.5/lib/action_dispatch/routing/route_set.rb:50:in 'ActionDispatch::Routing::RouteSet::Dispatcher#serve' 
actionpack-8.0.5/lib/action_dispatch/journey/router.rb:53:in 'block in ActionDispatch::Journey::Router#serve' 
actionpack-8.0.5/lib/action_dispatch/journey/router.rb:133:in 'block in ActionDispatch::Journey::Router#find_routes' 
actionpack-8.0.5/lib/action_dispatch/journey/router.rb:126:in 'Array#each' 
actionpack-8.0.5/lib/action_dispatch/journey/router.rb:126:in 'ActionDispatch::Journey::Router#find_routes' 
actionpack-8.0.5/lib/action_dispatch/journey/router.rb:34:in 'ActionDispatch::Journey::Router#serve' 
actionpack-8.0.5/lib/action_dispatch/routing/route_set.rb:908:in 'ActionDispatch::Routing::RouteSet#call' 
/var/www/discourse/lib/middleware/omniauth_bypass_middleware.rb:35:in 'Middleware::OmniauthBypassMiddleware#call' 
/var/www/discourse/lib/middleware/crawler_hooks.rb:11:in 'Middleware::CrawlerHooks#call' 
rack-2.2.22/lib/rack/tempfile_reaper.rb:15:in 'Rack::TempfileReaper#call' 
rack-2.2.22/lib/rack/conditional_get.rb:40:in 'Rack::ConditionalGet#call' 
rack-2.2.22/lib/rack/head.rb:12:in 'Rack::Head#call' 
actionpack-8.0.5/lib/action_dispatch/http/permissions_policy.rb:38:in 'ActionDispatch::PermissionsPolicy::Middleware#call' 
/var/www/discourse/lib/content_security_policy/middleware.rb:12:in 'ContentSecurityPolicy::Middleware#call' 
/var/www/discourse/lib/middleware/anonymous_cache.rb:420:in 'Middleware::AnonymousCache#call' 
/var/www/discourse/lib/middleware/csp_script_nonce_injector.rb:12:in 'Middleware::CspScriptNonceInjector#call' 
/var/www/discourse/config/initializers/008-rack-cors.rb:26:in 'Discourse::Cors#call' 
rack-2.2.22/lib/rack/session/abstract/id.rb:266:in 'Rack::Session::Abstract::Persisted#context' 
rack-2.2.22/lib/rack/session/abstract/id.rb:260:in 'Rack::Session::Abstract::Persisted#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/cookies.rb:706:in 'ActionDispatch::Cookies#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/callbacks.rb:31:in 'block in ActionDispatch::Callbacks#call' 
activesupport-8.0.5/lib/active_support/callbacks.rb:100:in 'ActiveSupport::Callbacks#run_callbacks' 
actionpack-8.0.5/lib/action_dispatch/middleware/callbacks.rb:30:in 'ActionDispatch::Callbacks#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/debug_exceptions.rb:31:in 'ActionDispatch::DebugExceptions#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/show_exceptions.rb:32:in 'ActionDispatch::ShowExceptions#call' 
logster-2.20.1/lib/logster/middleware/reporter.rb:40:in 'Logster::Middleware::Reporter#call' 
/var/www/discourse/lib/middleware/default_headers.rb:13:in 'Middleware::DefaultHeaders#call' 
railties-8.0.5/lib/rails/rack/logger.rb:41:in 'Rails::Rack::Logger#call_app' 
railties-8.0.5/lib/rails/rack/logger.rb:29:in 'Rails::Rack::Logger#call' 
/var/www/discourse/config/initializers/100-quiet_logger.rb:20:in 'DiscourseRackQuietAssetsLogger#call' 
/var/www/discourse/config/initializers/100-silence_logger.rb:29:in 'SilenceLogger#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/request_id.rb:34:in 'ActionDispatch::RequestId#call' 
/var/www/discourse/lib/middleware/enforce_hostname.rb:23:in 'Middleware::EnforceHostname#call' 
rack-2.2.22/lib/rack/method_override.rb:24:in 'Rack::MethodOverride#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/executor.rb:16:in 'ActionDispatch::Executor#call' 
rack-2.2.22/lib/rack/sendfile.rb:127:in 'Rack::Sendfile#call' 
rack-mini-profiler-4.0.1/lib/mini_profiler.rb:191:in 'Rack::MiniProfiler#call' 
message_bus-4.5.2/lib/message_bus/rack/middleware.rb:60:in 'MessageBus::Rack::Middleware#call' 
/var/www/discourse/lib/middleware/request_tracker.rb:321:in 'Middleware::RequestTracker#call' 
actionpack-8.0.5/lib/action_dispatch/middleware/remote_ip.rb:96:in 'ActionDispatch::RemoteIp#call' 
/var/www/discourse/lib/middleware/overload_protections.rb:22:in 'Middleware::OverloadProtections#call' 
/var/www/discourse/lib/middleware/processing_request.rb:14:in 'Middleware::ProcessingRequest#call' 
railties-8.0.5/lib/rails/engine.rb:535:in 'Rails::Engine#call' 
railties-8.0.5/lib/rails/railtie.rb:226:in 'Kernel#public_send' 
railties-8.0.5/lib/rails/railtie.rb:226:in 'Rails::Railtie.method_missing' 
rack-2.2.22/lib/rack/urlmap.rb:74:in 'block in Rack::URLMap#call' 
rack-2.2.22/lib/rack/urlmap.rb:58:in 'Array#each' 
rack-2.2.22/lib/rack/urlmap.rb:58:in 'Rack::URLMap#call' 
rack-2.2.22/lib/rack/tempfile_reaper.rb:15:in 'Rack::TempfileReaper#call' 
pitchfork-0.18.2/lib/pitchfork/chunked.rb:105:in 'Pitchfork::Chunked#call' 
rack-2.2.22/lib/rack/content_length.rb:17:in 'Rack::ContentLength#call' 
pitchfork-0.18.2/lib/pitchfork/http_server.rb:868:in 'Pitchfork::HttpServer#process_client' 
pitchfork-0.18.2/lib/pitchfork/http_server.rb:1017:in 'Pitchfork::HttpServer#worker_loop' 
pitchfork-0.18.2/lib/pitchfork/http_server.rb:616:in 'block in Pitchfork::HttpServer#spawn_worker' 
pitchfork-0.18.2/lib/pitchfork/http_server.rb:1222:in 'block in Pitchfork::HttpServer#fork_sibling' 
pitchfork-0.18.2/lib/pitchfork.rb:170:in 'block in Pitchfork.clean_fork' 
pitchfork-0.18.2/lib/pitchfork.rb:168:in 'Kernel#catch' 
pitchfork-0.18.2/lib/pitchfork.rb:168:in 'Pitchfork.clean_fork' 
pitchfork-0.18.2/lib/pitchfork/http_server.rb:690:in 'Pitchfork::HttpServer#spawn_initial_mold' 
pitchfork-0.18.2/lib/pitchfork/http_server.rb:176:in 'Pitchfork::HttpServer#start' 
pitchfork-0.18.2/exe/pitchfork:110:in '<top (required)>' 
/var/www/discourse/vendor/bundle/ruby/3.4.0/bin/pitchfork:25:in 'Kernel#load' 
/var/www/discourse/vendor/bundle/ruby/3.4.0/bin/pitchfork:25:in '<main>' 
infobacktraceenv
 Lösen  Entfernen  Schützen  Kopieren  Teilen
 Debug
 Info
  Warnung
  Fehler
  Fatal

Dies ist ein sehr wichtiger Plugin für unsere Community, daher wären wir dankbar, wenn dieses Problem so schnell wie möglich untersucht würde.

Mir ist das auch passiert!!! Das ist sehr frustrierend, da ich das Poll-Plugin von Discourse intensiv für mein eigenes Projekt zur Abstimmung nutze. Seit über drei Stunden versuche ich bereits, eine Lösung zu finden, aber bisher ohne Erfolg. Ich hoffe, dass sich offiziell eingegriffen wird, sonst muss ich nach einer Alternative suchen (bisher habe ich jedoch keine gefunden).

Dieses Problem scheint auch das Reactions-Plugin und das User Note-Plugin zu betreffen und steht offenbar im Zusammenhang mit der Abschaffung des Parameters selected_tags. Da diese Plugins nun im Core enthalten sind, hätte ich erwartet, dass dieses Problem früher erkannt wurde.

DEPRECATION NOTICE: Das Übergeben von Tag-Namen als Strings an den Parameter tags ist veraltet. Verwenden Sie stattdessen Tag-Objekte ({id, name}) (seit Discourse 2026.01 veraltet, Entfernung in Discourse 2026.07) Bei /var/www/
DEPRECATION NOTICE: Der Parameter selected_tags ist veraltet. Verwenden Sie stattdessen selected_tag_ids (seit Discourse 2026.01 veraltet, Entfernung in Discourse 2026.07) Bei /var/www/discourse/vendor/bundle/ruby/3.4.0/

Die Versionen 2026.3.0-latest und 2026.3.0-latest.1 wiesen ebenfalls die gleichen Probleme auf, die in diesem Beitrag beschrieben wurden.

Es sieht so aus, als wären auch andere Plugins von diesem Problem betroffen:

  • Kalender und Veranstaltungen

  • Gelöst

Könnte das hier der Fehler sein? discourse/app/controllers/topics_controller.rb at 46e769b605d782dfee5cf1f6cb26571e42e9c431 · discourse/discourse · GitHub

Derzeit sollte diese Warnung keine Probleme verursachen.

Ich sehe in den Logs keine weiteren Probleme im Zusammenhang mit diesen Plugins. Gibt es etwas, das ich ausführen kann, um die Ursache dieser Probleme zu ermitteln?

Funktionieren die Plugins bei dir? Sehen die Nutzer, die melden, dass sie defekt sind, mehr Fehler in ihrer Browserkonsole?

Die Tatsache, dass dein Problem anscheinend alle Plugins betrifft, erinnert mich an dieses kürzlich erschienene Thema: All plugins not functioning due to CORS error after recent upgrade

1 „Gefällt mir“

hmmm, ich habe mir die Entwicklerkonsole angesehen und sehe eine Reihe von CDN-Fehlern, also werde ich das weiter untersuchen! Das könnte die eigentliche Ursache sein.

1 „Gefällt mir“

Nebenbei: Ich nutze Bunny CDN nicht, sehe aber folgende Meldung: app.js:73 Failed to load plugin discourse-local-dates from TypeError: Failed to fetch dynamically imported module:, wobei das JS auf dem CDN liegt.

Ich aktualisiere gerade unsere CDN-Einstellungen und gebe dir Bescheid, wie es läuft.

Ja, dieses Problem liegt daran, wie Plugin-Module jetzt geladen werden. Ich musste meine Header in unserem CDN aktualisieren, um das CORS-/ES-Modul-Problem zu beheben.

Ressource konnte nicht geladen werden: Der Server antwortete mit dem Status 500 ()
Ist das auch auf CDN zurückzuführen? :face_with_monocle:
In meiner Konsole wird genau dieser Fehler angezeigt.

Gibt es eine Chance, dass dies durch folgenden Commit behoben wurde?

3 „Gefällt mir“

Hast du einen Screenshot, den du teilen kannst?


Nach dem Aufrufen eines Beitrags mit Abstimmung wird der Screenshot der Seite angezeigt. Die Entwicklertools (F12) zeigen einen 500-Fehler, JS-Ladefehler und einen internen Serverfehler an, jedoch wird kein CORS-Fehler direkt geworfen.

Hast du seitdem, dass Zogstrip die Lösung geteilt hat, ein weiteres Update durchgeführt?

Kannst du auf yourForum/logs zugreifen? Gibt es dort Details zu den 500-Fehlern?

Es wurden keine weiteren Updates durchgeführt; in /logs finden sich Fehlermeldungen im Zusammenhang mit Poll.