토픽 투표 플러그인 - 과거 투표 집계 누락, 사용자 투표 오류 발생

안녕하세요,

최근 포럼을 2026.4.0-latest 버전으로 재구축했는데, 이제 사용자들이 과거의 투표를 볼 수 없고 투표에도 문제가 발생하고 있습니다. 로그를 확인해 보니 Topic Voting 플러그인이 비추천(deprecated) 기능이 사용되고 있는 것 같습니다. 다음은 스택 트레이스입니다:

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
 Solve  Remove  Protect  Copy  Share
 Debug
 Info
  Warning
  Error
  Fatal

이 플러그인은 우리 커뮤니티에 매우 중요하므로, 이 문제가 최대한 빨리 조사되기를 바랍니다.

나도 같은 문제를 겪고 있습니다!!!
이것은 매우 좌절스럽습니다. 제 프로젝트에서 Discourse를 많이 사용하면서 투표 기능을 위해 poll 플러그인을 광범위하게 활용하고 있기 때문입니다. 3시간 넘게 이 문제를 해결하기 위해 노력해 왔지만 아직까지 해결하지 못했습니다. 공식적인 대응을 해주셨으면 좋겠습니다. 그렇지 않으면 다른 대체 수단을 찾아야 할 것 같습니다(현재까지 대체재는 발견되지 않았습니다).

이 문제는 Reactions 플러그인과 User Note 플러그인에도 영향을 미치는 것으로 보이며, 사용자들은 이제 이 플러그인들이 더 이상 작동하지 않는다고 보고하고 있습니다. 역시 selected_tags 파라미터가 비추천(deprecated)된 것과 관련이 있는 것으로 보입니다. 이제 이 플러그인들이 코어에 포함되어 있으므로, 이 문제가 더 일찍 발견되었어야 한다고 생각합니다.

DEPRECATION NOTICE: Passing tag names as strings to the tags param is deprecated, use tag objects ({id, name}) instead (deprecated since Discourse 2026.01) (removal in Discourse 2026.07) At /var/www/
DEPRECATION NOTICE: selected_tags param is deprecated, use selected_tag_ids instead (deprecated since Discourse 2026.01) (removal in Discourse 2026.07) At /var/www/discourse/vendor/bundle/ruby/3.4.0/

2026.3.0-latest와 2026.3.0-latest.1 버전에서도 이 게시글에 보고된 것과 동일한 문제가 발생했습니다.

이 문제로 인해 다른 플러그인도 영향을 받는 것으로 보입니다:

  • Calendar and Events

  • Solved

문제가 여기에서 발생하고 있지 않을까요? discourse/app/controllers/topics_controller.rb at 46e769b605d782dfee5cf1f6cb26571e42e9c431 · discourse/discourse · GitHub

현재 이 경고는 어떤 문제도 일으키지 않아야 합니다.

로그에서 이 플러그인 관련해서 다른 문제는 보이지 않습니다. 이 문제의 원인을 진단하는 데 도움이 될 수 있는 명령이나 작업이 있을까요?

플러그인이 정상적으로 작동합니까? 깨졌다고 보고하는 사용자들은 브라우저 콘솔에서 더 많은 오류를 확인합니까?

문제가 모든 플러그기에 영향을 미치는 것처럼 보이는데, 이는 최근 이 주제와 비슷합니다: All plugins not functioning due to CORS error after recent upgrade

음, 개발자 콘솔을 살펴봤는데 CDN 오류가 여러 개 떠서 더 자세히 파볼게요! 이게 근본적인 문제일 수도 있겠네요.

참고로 저는 bunny CDN을 사용하지 않지만, JS가 CDN에 있는 상태에서 app.js:73 Failed to load plugin discourse-local-dates from TypeError: Failed to fetch dynamically imported module:라는 오류가 발생하고 있습니다.

CDN 설정을 업데이트하고 있으니, 진행 상황을 알려드릴게요.

네, 이 문제는 플러그인 모듈이 로드되는 방식이 변경되었기 때문에 발생하는 것입니다. CORS / ES 모듈 문제를 해결하기 위해 CDN의 헤더를 업데이트해야 했습니다.

Failed to load resource: the server responded with a status of 500 ()
이것도 CDN 때문인가요? :face_with_monocle:
제 콘솔에서는 이런 오류가 나고 있습니다

다음 커밋으로 수정되었을 가능성은 없나요?

공유할 수 있는 스크린샷이 있으신가요?


투표가 있는 게시물을 방문했을 때의 스크린샷입니다. F12를 열면 500 오류와 JS 로드 오류, 그리고 내부 서비스 오류가 표시되지만, CORS 오류가 직접 발생하지는 않습니다.

Zogstrip이 수정 사항을 공유한 이후에 다른 업데이트를 수행하셨나요?

yourForum/logs에 접근할 수 있나요? 500 오류에 대한 세부 정보가 있나요?

다른 업데이트는 하지 않았으며, /logs에 poll 관련 오류가 있습니다.

activerecord (8.0.4) lib/active_record/enum.rb:243:in 'block in ActiveRecord::Enum#_enum'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:71:in 'block in ActiveModel::AttributeRegistration::ClassMethods::PendingDecorator#apply_to'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:69:in 'Array#each'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:69:in 'ActiveModel::AttributeRegistration::ClassMethods::PendingDecorator#apply_to'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:87:in 'block in ActiveModel::AttributeRegistration::ClassMethods#apply_pending_attribute_modifications'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:86:in 'Array#each'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:86:in 'ActiveModel::AttributeRegistration::ClassMethods#apply_pending_attribute_modifications'
activerecord (8.0.4) lib/active_record/attributes.rb:261:in 'ActiveRecord::Attributes::ClassMethods#_default_attributes'
activerecord (8.0.4) lib/active_record/model_schema.rb:596:in 'ActiveRecord::ModelSchema::ClassMethods#load_schema!'
activerecord (8.0.4) lib/active_record/counter_cache.rb:187:in 'ActiveRecord::CounterCache::ClassMethods#load_schema!'
activerecord (8.0.4) lib/active_record/encryption/encryptable_record.rb:127:in 'ActiveRecord::Encryption::EncryptableRecord::ClassMethods#load_schema!'
activerecord (8.0.4) lib/active_record/model_schema.rb:539:in 'block in ActiveRecord::ModelSchema::ClassMethods#load_schema'
activerecord (8.0.4) lib/active_record/model_schema.rb:536:in 'Monitor#synchronize'
activerecord (8.0.4) lib/active_record/model_schema.rb:536:in 'ActiveRecord::ModelSchema::ClassMethods#load_schema'
activerecord (8.0.4) lib/active_record/model_schema.rb:428:in 'ActiveRecord::ModelSchema::ClassMethods#columns_hash'
activerecord (8.0.4) lib/active_record/attributes.rb:255:in 'block in ActiveRecord::Attributes::ClassMethods#_default_attributes'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
activerecord (8.0.4) lib/active_record/connection_handling.rb:312:in 'ActiveRecord::ConnectionHandling#with_connection'
activerecord (8.0.4) lib/active_record/attributes.rb:254:in 'ActiveRecord::Attributes::ClassMethods#_default_attributes'
activemodel (8.0.4) lib/active_model/attribute_registration.rb:38:in 'ActiveModel::AttributeRegistration::ClassMethods#attribute_types'
activerecord (8.0.4) lib/active_record/attribute_methods.rb:261:in 'ActiveRecord::AttributeMethods::ClassMethods#_has_attribute?'
activerecord (8.0.4) lib/active_record/inheritance.rb:61:in 'ActiveRecord::Inheritance::ClassMethods#new'
activerecord (8.0.4) lib/active_record/persistence.rb:54:in 'ActiveRecord::Persistence::ClassMethods#create!'
plugins/poll/lib/poll.rb:392:in 'DiscoursePoll::Poll.create!'
plugins/poll/lib/post_extension.rb:19:in 'block (4 levels) in <module:PostExtension>'
plugins/poll/lib/post_extension.rb:19:in 'Hash#each'
plugins/poll/lib/post_extension.rb:19:in 'block (3 levels) in <module:PostExtension>'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/database_statements.rb:357:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
activerecord (8.0.4) lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
activerecord (8.0.4) lib/active_record/connection_handling.rb:312:in 'ActiveRecord::ConnectionHandling#with_connection'
activerecord (8.0.4) lib/active_record/transactions.rb:232:in 'ActiveRecord::Transactions::ClassMethods#transaction'
plugins/poll/lib/post_extension.rb:18:in 'block (2 levels) in <module:PostExtension>'
activesupport (8.0.4) lib/active_support/callbacks.rb:406:in 'BasicObject#instance_exec'
activesupport (8.0.4) lib/active_support/callbacks.rb:406:in 'block in ActiveSupport::Callbacks::CallTemplate::InstanceExec0#make_lambda'
activesupport (8.0.4) lib/active_support/callbacks.rb:207:in 'ActiveSupport::Callbacks::Filters::After#call'
activesupport (8.0.4) lib/active_support/callbacks.rb:563:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_after'
activesupport (8.0.4) lib/active_support/callbacks.rb:563:in 'Array#each'
activesupport (8.0.4) lib/active_support/callbacks.rb:563:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_after'
activesupport (8.0.4) lib/active_support/callbacks.rb:134:in 'block in ActiveSupport::Callbacks#run_callbacks'
activesupport (8.0.4) lib/active_support/callbacks.rb:140:in 'ActiveSupport::Callbacks#run_callbacks'
activesupport (8.0.4) lib/active_support/callbacks.rb:913:in 'ActiveRecord::Base#_run_save_callbacks'
activerecord (8.0.4) lib/active_record/callbacks.rb:441:in 'ActiveRecord::Callbacks#create_or_update'
activerecord (8.0.4) lib/active_record/timestamp.rb:127:in 'ActiveRecord::Timestamp#create_or_update'
activerecord (8.0.4) lib/active_record/persistence.rb:391:in 'ActiveRecord::Persistence#save'
activerecord (8.0.4) lib/active_record/validations.rb:48:in 'ActiveRecord::Validations#save'
activerecord (8.0.4) lib/active_record/transactions.rb:361:in 'block in ActiveRecord::Transactions#save'
activerecord (8.0.4) lib/active_record/transactions.rb:417:in 'block (2 levels) in ActiveRecord::Transactions#with_transaction_returning_status'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/database_statements.rb:357:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
activerecord (8.0.4) lib/active_record/transactions.rb:413:in 'block in ActiveRecord::Transactions#with_transaction_returning_status'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:416:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
activerecord (8.0.4) lib/active_record/connection_handling.rb:312:in 'ActiveRecord::ConnectionHandling#with_connection'
activerecord (8.0.4) lib/active_record/transactions.rb:409:in 'ActiveRecord::Transactions#with_transaction_returning_status'
activerecord (8.0.4) lib/active_record/transactions.rb:361:in 'ActiveRecord::Transactions#save'
activerecord (8.0.4) lib/active_record/suppressor.rb:52:in 'ActiveRecord::Suppressor#save'
lib/post_creator.rb:598:in 'PostCreator#save_post'
lib/post_creator.rb:204:in 'block in PostCreator#create'
lib/post_creator.rb:405:in 'block in PostCreator#transaction'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/transaction.rb:626:in 'block in ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
activesupport (8.0.4) lib/active_support/concurrency/null_lock.rb:9:in 'ActiveSupport::Concurrency::NullLock#synchronize'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/transaction.rb:623:in 'ActiveRecord::ConnectionAdapters::TransactionManager#within_new_transaction'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/database_statements.rb:367:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#within_new_transaction'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/database_statements.rb:359:in 'ActiveRecord::ConnectionAdapters::DatabaseStatements#transaction'
activerecord (8.0.4) lib/active_record/transactions.rb:233:in 'block in ActiveRecord::Transactions::ClassMethods#transaction'
activerecord (8.0.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:422:in 'ActiveRecord::ConnectionAdapters::ConnectionPool#with_connection'
activerecord (8.0.4) lib/active_

RuntimeError (Undeclared attribute type for enum 'chart_type' in Poll. Enums must be backed by a database column or declared with an explicit type via `attribute`.) lib/plugin/instance.rb:437:in 'Kern
propshaft (1.3.1) lib/propshaft/helper.rb:50:in 'Propshaft::Helper#compute_asset_path'
lib/freedom_patches/propshaft_patches.rb:16:in 'compute_asset_path'
actionview (8.0.4) lib/action_view/helpers/asset_url_helper.rb:204:in 'ActionView::Helpers::AssetUrlHelper#asset_path'
app/helpers/application_helper.rb:94:in 'ApplicationHelper#script_asset_path'
app/helpers/application_helper.rb:144:in 'block in ApplicationHelper#preload_script'
app/helpers/application_helper.rb:143:in 'Array#map'
app/helpers/application_helper.rb:143:in 'ApplicationHelper#preload_script'
app/views/layouts/_plugin_js.html.erb:5
app/views/layouts/_plugin_js.html.erb:4:in 'Array#each'
app/views/layouts/_plugin_js.html.erb:4
<internal:kernel>:91:in 'Kernel#tap'
app/views/layouts/_plugin_js.html.erb:3
actionview (8.0.4) lib/action_view/base.rb:268:in 'Kernel#public_send'
actionview (8.0.4) lib/action_view/base.rb:268:in 'ActionView::Base#_run'
actionview (8.0.4) lib/action_view/template.rb:284:in 'block in ActionView::Template#render'
activesupport (8.0.4) lib/active_support/notifications.rb:212:in 'ActiveSupport::Notifications.instrument'
actionview (8.0.4) lib/action_view/template.rb:583:in 'ActionView::Template#instrument_render_template'
actionview (8.0.4) lib/action_view/template.rb:272:in 'ActionView::Template#render'
rack-mini-profiler (4.0.1) lib/mini_profiler/profiling_methods.rb:90:in 'block in ActionView::Template#profile_method' 
actionview (8.0.4) lib/action_view/renderer/partial_renderer.rb:252:in 'block in ActionView::PartialRenderer#render_partial_template'
activesupport (8.0.4) lib/active_support/notifications.rb:212:in 'ActiveSupport::Notifications.instrument'
actionview (8.0.4) lib/action_view/renderer/partial_renderer.rb:246:in 'ActionView::PartialRenderer#render_partial_template'
actionview (8.0.4) lib/action_view/renderer/partial_renderer.rb:237:in 'ActionView::PartialRenderer#render'
actionview (8.0.4) lib/action_view/renderer/renderer.rb:78:in 'ActionView::Renderer#render_partial_to_object'
actionview (8.0.4) lib/action_view/renderer/renderer.rb:49:in 'ActionView::Renderer#render_partial'
actionview (8.0.4) lib/action_view/helpers/rendering_helper.rb:152:in 'ActionView::Helpers::RenderingHelper#render'
app/views/layouts/application.html.erb:50
actionview (8.0.4) lib/action_view/base.rb:278:in 'Kernel#public_send'
actionview (8.0.4) lib/action_view/base.rb:278:in 'ActionView::Base#_run'
actionview (8.0.4) lib/action_view/template.rb:284:in 'block in ActionView::Template#render'
activesupport (8.0.4) lib/active_support/notifications.rb:212:in 'ActiveSupport::Notifications.instrument'
actionview (8.0.4) lib/action_view/template.rb:583:in 'ActionView::Template#instrument_render_template'
actionview (8.0.4) lib/action_view/template.rb:272:in 'ActionView::Template#render'
rack-mini-profiler (4.0.1) lib/mini_profiler/profiling_methods.rb:90:in 'block in ActionView::Template#profile_method' 
actionview (8.0.4) lib/action_view/renderer/template_renderer.rb:77:in 'block in ActionView::TemplateRenderer#render_with_layout'
activesupport (8.0.4) lib/active_support/notifications.rb:210:in 'block in ActiveSupport::Notifications.instrument'
activesupport (8.0.4) lib/active_support/notifications/instrumenter.rb:58:in 'ActiveSupport::Notifications::Instrumenter#instrument'
activesupport (8.0.4) lib/active_support/notifications.rb:210:in 'ActiveSupport::Notifications.instrument'
actionview (8.0.4) lib/action_view/renderer/template_renderer.rb:75:in 'ActionView::TemplateRenderer#render_with_layout'
actionview (8.0.4) lib/action_view/renderer/template_renderer.rb:59:in 'ActionView::TemplateRenderer#render_template'
actionview (8.0.4) lib/action_view/renderer/template_renderer.rb:11:in 'ActionView::TemplateRenderer#render'
actionview (8.0.4) lib/action_view/renderer/renderer.rb:58:in 'ActionView::Renderer#render_template_to_object'
actionview (8.0.4) lib/action_view/renderer/renderer.rb:31:in 'ActionView::Renderer#render_to_object'
actionview (8.0.4) lib/action_view/rendering.rb:136:in 'block in ActionView::Rendering#_render_template'
actionview (8.0.4) lib/action_view/base.rb:305:in 'ActionView::Base#in_rendering_context'
actionview (8.0.4) lib/action_view/rendering.rb:135:in 'ActionView::Rendering#_render_template'
actionpack (8.0.4) lib/action_controller/metal/streaming.rb:179:in 'ActionController::Streaming#_render_template'
actionview (8.0.4) lib/action_view/rendering.rb:122:in 'ActionView::Rendering#render_to_body'
actionpack (8.0.4) lib/action_controller/metal/rendering.rb:186:in 'ActionController::Rendering#render_to_body'
actionpack (8.0.4) lib/action_controller/metal/renderers.rb:140:in 'ActionController::Renderers#render_to_body'
actionpack (8.0.4) lib/abstract_controller/rendering.rb:28:in 'AbstractController::Rendering#render'
actionpack (8.0.4) lib/action_controller/metal/rendering.rb:167:in 'ActionController::Rendering#render'
actionpack (8.0.4) lib/action_controller/metal/instrumentation.rb:31:in 'block (2 levels) in ActionController::Instrumentation#render'
activesupport (8.0.4) lib/active_support/benchmark.rb:17:in 'ActiveSupport::Benchmark.realtime'
actionpack (8.0.4) lib/action_controller/metal/instrumentation.rb:31:in 'block in ActionController::Instrumentation#render'
actionpack (8.0.4) lib/action_controller/metal/instrumentation.rb:100:in 'ActionController::Instrumentation#cleanup_view_runtime'
activerecord (8.0.4) lib/active_record/railties/controller_runtime.rb:46:in 'ActiveRecord::Railties::ControllerRuntime#cleanup_view_runtime'
actionpack (8.0.4) lib/action_controller/metal/instrumentation.rb:30:in 'ActionController::Instrumentation#render'
lib/topic_list_responder.rb:16:in 'block (2 levels) in TopicListResponder#respond_with_list'
actionpack (8.0.4) lib/action_controller/metal/mime_responds.rb:224:in 'ActionController::MimeResponds#respond_to'
lib/topic_list_responder.rb:7:in 'TopicListResponder#respond_with_list'
app/controllers/list_controller.rb:115:in 'block (2 levels) in <class:ListController>'
actionpack (8.0.4) lib/action_controller/metal/basic_implicit_render.rb:8:in 'ActionController::BasicImplicitRender#send_action'
actionpack (8.0.4) lib/abstract_controller/base.rb:215:in 'AbstractController::Base#process_action'
actionpack (8.0.4) lib/action_controller/metal/rendering.rb:193:in 'ActionController::Rendering#process_action'
actionpack (8.0.4) lib/abstract_controller/callbacks.rb:261:in 'block in AbstractController::Callbacks#process_action'
activesupport (8.0.4) lib/active_support/callbacks.rb:120:in 'block in ActiveSupport::Callbacks#run_callbacks'
app/controllers/application_controller.rb:443:in 'block in ApplicationController#with_resolved_locale'
i18n (1.14.7) lib/i18n.rb:353:in 'I18n::Base#with_locale'
app/controllers/application_controller.rb:443:in 'ApplicationController#with_resolved_locale'
activesupport (8.0.4) lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks'
app/controllers/application_controller.rb:1089:in 'ApplicationController#ensure_dont_cache_page'
activesupport (8.0.4) lib/active_support/callbacks.rb:129:in 'block in ActiveSupport::Callbacks#run_callbacks'
activesupport (8.0.4) lib/active_support/callbacks.rb:140:in 'ActiveSupport::Callbacks#run_callbacks'
actionpack (8.0.4) lib/abstract_controller/callbacks.rb:260:in 'AbstractController::Callbacks#process_action'
actionpack (8.0.4) lib/action_controller/metal/rescue.rb:27:in 'ActionController::Rescue#process_action'
actionpack (8.0.4) lib/action_controller/metal/instrumentation.rb:76:in 'block in ActionController::Instrumentation#process_action'
activesupport (8.0.4) lib/active_support/notifications.rb:210: