Plugin de votación de temas: falta el recuento de votos anteriores, los usuarios tienen problemas para votar

Hola a todos,

Hace poco reconstruimos nuestros foros para usar 2026.4.0-latest y ahora los usuarios no pueden ver los votos anteriores y tienen problemas para votar. He revisado los registros y parece que el plugin de Votación de Temas podría estar utilizando características obsoletas. Aquí está el seguimiento de la pila:

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
 Solucionar  Eliminar  Proteger  Copiar  Compartir
 Depurar
 Info
  Advertencia
  Error
  Fatal

Este es un plugin muy importante para nuestra comunidad, por lo que agradeceríamos que se investigara este problema lo antes posible.

¡Yo también me encontré con esto!!!
Es muy frustrante, ya que utilizo extensivamente el plugin de encuestas de Discourse para mi propio proyecto. He estado intentando resolver este problema desde hace más de tres horas, pero sin éxito. Espero que el equipo oficial intervenga; de lo contrario, tendré que buscar una alternativa existente (aunque por ahora no he encontrado ninguna).

Este problema también parece estar afectando al plugin Reacciones y al plugin Notas de Usuario, y parece estar relacionado con el parámetro selected_tags, que ha quedado obsoleto. Esperaría que, dado que estos plugins ahora están incluidos en el núcleo, este problema se hubiera identificado antes.

NOTIFICACIÓN DE OBSOLESCENCIA: Pasar nombres de etiquetas como cadenas al parámetro tags está obsoleto; utilice objetos de etiqueta ({id, name}) en su lugar (obsoleto desde Discourse 2026.01) (eliminación en Discourse 2026.07) En /var/www/
NOTIFICACIÓN DE OBSOLESCENCIA: El parámetro selected_tags está obsoleto; utilice selected_tag_ids en su lugar (obsoleto desde Discourse 2026.01) (eliminación en Discourse 2026.07) En /var/www/discourse/vendor/bundle/ruby/3.4.0/

Las versiones 2026.3.0-latest y 2026.3.0-latest.1 también experimentaron los mismos problemas reportados en esta publicación.

Parece que otros plugins también se ven afectados por este problema:

  • Calendario y eventos

  • Resuelto

¿Podría ser aquí donde radica el problema? discourse/app/controllers/topics_controller.rb at 46e769b605d782dfee5cf1f6cb26571e42e9c431 · discourse/discourse · GitHub

Actualmente, esta advertencia no debería causar ningún problema.

No estoy viendo ningún otro problema en los registros relacionado con estos complementos. ¿Hay algo que pueda ejecutar para ayudar a diagnosticar la causa de estos problemas?

¿Funcionan los plugins para ti? ¿Los usuarios que reportan que están rotos ven más errores en la consola de su navegador?

El hecho de que tu problema parezca afectar a todos los plugins me recuerda a este tema reciente All plugins not functioning due to CORS error after recent upgrade

1 me gusta

hmmm, he revisado la consola de desarrollo y veo varios errores de CDN, así que investigaré esto más a fondo. Esto podría ser el problema raíz.

1 me gusta

Como comentario aparte, no uso Bunny CDN, pero estoy viendo app.js:73 Failed to load plugin discourse-local-dates from TypeError: Failed to fetch dynamically imported module: donde el JS está alojado en el CDN.

Estoy actualizando nuestra configuración de CDN y te avisaré cómo nos va.

Sí, este problema se debe a la forma en que ahora se cargan los módulos del complemento. Tuve que actualizar las cabeceras en nuestro CDN para solucionar el problema de CORS y de los módulos ES.

Error al cargar el recurso: el servidor respondió con un estado 500 ()
¿Esto también es causado por el CDN? :face_with_monocle:
En mi consola aparece este error.

¿Hay alguna posibilidad de que esto haya sido corregido por

3 Me gusta

¿Tienes una captura de pantalla que puedas compartir?


Al acceder a una publicación con votaciones, se muestra la captura de pantalla. F12 indica un error 500, errores de carga de JavaScript y un error de servicio interno, pero no se lanza directamente un error CORS.

¿Has realizado otra actualización desde que Zogstrip compartió la solución?

¿Puedes acceder a yourForum/logs? ¿Hay algún detalle sobre los errores 500?

No se han realizado otras actualizaciones; en /logs hay errores relacionados con poll.