Meine Discourse-Version ist 2026.5.0-latest.1 (fbcbdc46d8)
Beim Laden von Themenbeiträgen sehe ich wiederholt /logs-Fehler. Der Fehler scheint vom gebündelten Plugin discourse-reactions zu stammen, während der Post-Stream serialisiert wird.
Die Website meldet die Meldung als 8 gemeldete Kopien.
Ich habe den unten angegebenen Vergleichsbereich geprüft, aber es sieht nicht so aus, als ob er den fehlerhaften Backend-Codepfad berührt. Daher melde ich dies separat:
[details=„Fehlermeldung aus /logs"]
Meldung (8 gemeldete Kopien)
NameError (nicht initialisierter Konstante ReactionsSerializerHelpers)
app/serializers/post_stream_serializer_mixin.rb:31:in „PostStreamSerializerMixin#post_stream"
app/controllers/application_controller.rb:531:in „ApplicationController#render_json_dump"
app/controllers/topics_controller.rb:296:in „TopicsController#posts"
app/controllers/application_controller.rb:452:in „block in ApplicationController#with_resolved_locale"
app/controllers/application_controller.rb:452:in „ApplicationController#with_resolved_locale"
app/controllers/application_controller.rb:1103:in „ApplicationController#ensure_dont_cache_page"
lib/middleware/omniauth_bypass_middleware.rb:35:in „Middleware::OmniauthBypassMiddleware#call"
lib/middleware/crawler_hooks.rb:13:in „Middleware::CrawlerHooks#call"
lib/content_security_policy/middleware.rb:12:in „ContentSecurityPolicy::Middleware#call"
lib/middleware/anonymous_cache.rb:420:in „Middleware::AnonymousCache#call"
lib/middleware/csp_script_nonce_injector.rb:12:in „Middleware::CspScriptNonceInjector#call"
lib/middleware/track_view_session_id_injector.rb:12:in „Middleware::TrackViewSessionIdInjector#call"
config/initializers/008-rack-cors.rb:14:in „Discourse::Cors#call"
lib/middleware/default_headers.rb:13:in „Middleware::DefaultHeaders#call"
config/initializers/100-quiet_logger.rb:20:in „DiscourseRackQuietAssetsLogger#call"
config/initializers/100-silence_logger.rb:29:in „SilenceLogger#call"
lib/middleware/enforce_hostname.rb:23:in „Middleware::EnforceHostname#call"
lib/middleware/request_tracker.rb:372:in „Middleware::RequestTracker#call"
lib/middleware/overload_protections.rb:18:in „Middleware::OverloadProtections#call"
lib/middleware/processing_request.rb:14:in „Middleware::ProcessingRequest#call"
[/details]
[details=„Backtrace aus /logs"]
Backtrace
plugins/discourse-reactions/lib/discourse_reactions/posts_reaction_loader.rb:10:in „DiscourseReactions::PostsReactionLoader#posts_with_reactions"
plugins/discourse-reactions/lib/discourse_reactions/topic_view_posts_serializer_extension.rb:7:in „DiscourseReactions::TopicViewPostsSerializerExtension#posts"
app/serializers/post_stream_serializer_mixin.rb:31:in „PostStreamSerializerMixin#post_stream"
(eval at active_model_serializers-0.8.4/lib/active_model/serializer.rb:467):3:in „TopicViewPostsSerializer#_fast_attributes"
active_model_serializers (0.8.4) lib/active_model/serializer.rb:468:in „ActiveModel::Serializer#attributes"
active_model_serializers (0.8.4) lib/active_model/serializer.rb:480:in „ActiveModel::Serializer#_serializable_hash"
active_model_serializers (0.8.4) lib/active_model/serializer.rb:359:in „ActiveModel::Serializer#serializable_hash"
active_model_serializers (0.8.4) lib/active_model/serializer.rb:347:in „ActiveModel::Serializer#as_json"
activesupport (8.0.5) lib/active_support/json/encoding.rb:41:in „Oj::Rails::Encoder#encode"
activesupport (8.0.5) lib/active_support/json/encoding.rb:41:in „ActiveSupport::JSON.encode"
activesupport (8.0.5) lib/active_support/core_ext/object/json.rb:42:in „ActiveSupport::ToJsonWithActiveSupportEncoder#to_json"
active_model_serializers (0.8.4) lib/active_model/serializer.rb:331:in „ActiveModel::Serializer#to_json"
multi_json (1.20.1) lib/multi_json/adapters/oj.rb:67:in „Oj.dump"
multi_json (1.20.1) lib/multi_json/adapters/oj.rb:67:in „MultiJson::Adapters::Oj#dump"
multi_json (1.20.1) lib/multi_json/adapter.rb:92:in „MultiJson::Adapter.dump"
multi_json (1.20.1) lib/multi_json.rb:214:in „MultiJson.dump"
app/controllers/application_controller.rb:531:in „ApplicationController#render_json_dump"
app/controllers/topics_controller.rb:296:in „TopicsController#posts"
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"
app/controllers/application_controller.rb:452:in „block in ApplicationController#with_resolved_locale"
i18n (1.14.8) lib/i18n.rb:354:in „I18n::Base#with_locale"
app/controllers/application_controller.rb:452:in „ApplicationController#with_resolved_locale"
activesupport (8.0.5) lib/active_support/callbacks.rb:129:in „block in ActiveSupport::Callbacks#run_callbacks"
app/controllers/application_controller.rb:1103: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"
lib/middleware/omniauth_bypass_middleware.rb:35:in „Middleware::OmniauthBypassMiddleware#call"
lib/middleware/crawler_hooks.rb:13:in „Middleware::CrawlerHooks#call"
rack (2.2.23) lib/rack/tempfile_reaper.rb:15:in „Rack::TempfileReaper#call"
rack (2.2.23) lib/rack/conditional_get.rb:27:in „Rack::ConditionalGet#call"
rack (2.2.23) 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"
lib/content_security_policy/middleware.rb:12:in „ContentSecurityPolicy::Middleware#call"
lib/middleware/anonymous_cache.rb:420:in „Middleware::AnonymousCache#call"
lib/middleware/csp_script_nonce_injector.rb:12:in „Middleware::CspScriptNonceInjector#call"
lib/middleware/track_view_session_id_injector.rb:12:in „Middleware::TrackViewSessionIdInjector#call"
config/initializers/008-rack-cors.rb:14:in „Discourse::Cors#call"
rack (2.2.23) lib/rack/session/abstract/id.rb:266:in „Rack::Session::Abstract::Persisted#context"
rack (2.2.23) 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.21.0) lib/logster/middleware/reporter.rb:40:in „Logster::Middleware::Reporter#call"
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"
config/initializers/100-quiet_logger.rb:20:in „DiscourseRackQuietAssetsLogger#call"
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"
lib/middleware/enforce_hostname.rb:23:in „Middleware::EnforceHostname#call"
rack (2.2.23) lib/rack/method_overrid
[/details]
Was offenbar passiert
Der Fehler tritt auf, wenn TopicsController#posts JSON für den Post-Stream rendert.
Der Backtrace zeigt auf:
plugins/discourse-reactions/lib/discourse_reactions/posts_reaction_loader.rb
und dann auf:
plugins/discourse-reactions/lib/discourse_reactions/topic_view_posts_serializer_extension.rb
Die fehlerhafte Konstante scheint zu sein:
ReactionsSerializerHelpers
Das sieht also entweder so aus, als ob:
ReactionsSerializerHelpersnicht geladen/definiert wird, bevor PostsReactionLoader darauf verweist, oder- ein veralteter/gemischter Plugin/Core-Zustand dazu führt, dass das gebündelte Reactions-Plugin auf einen Helfer verweist, der im laufenden Code nicht vorhanden ist.
Frage
Wird erwartet, dass dies durch einen späteren Commit behoben wird, oder handelt es sich um ein Problem mit der Ladeordnung/dem gebündelten Plugin in discourse-reactions?
Ich bin gerne bereit, weitere Umgebungsdetails bereitzustellen, falls dies hilfreich ist.