Dependencies:
- rails 8.1.1
- hotwire-spark 0.1.13
- turbo-rails 2.0.20
- puma 7.1.0
- bootsnap 1.19.0
bin/rails aborted!
NameError: uninitialized constant ActionCable::Server::Broadcasting (NameError)
include ActionCable::Server::Broadcasting
^^^^^^^^^^^^^^
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:19:in '<class:Base>'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:18:in '<module:Server>'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:8:in '<module:ActionCable>'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:7:in '<main>'
/usr/local/rvm/gems/default/gems/bootsnap-1.19.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in 'Kernel#require'
/usr/local/rvm/gems/default/gems/zeitwerk-2.7.4/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
/usr/local/rvm/gems/default/gems/hotwire-spark-0.1.13/lib/hotwire/spark/engine.rb:1:in '<main>'
/usr/local/rvm/gems/default/gems/bootsnap-1.19.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:30:in 'Kernel#require'
/usr/local/rvm/gems/default/gems/zeitwerk-2.7.4/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel#require'
/usr/local/rvm/gems/default/gems/hotwire-spark-0.1.13/lib/hotwire-spark.rb:2:in '<main>'
<internal:/usr/local/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb>:37:in 'Kernel#require'
<internal:/usr/local/lib/ruby/3.4.0/rubygems/core_ext/kernel_require.rb>:37:in 'Kernel#require'
/usr/local/rvm/gems/default/gems/zeitwerk-2.7.4/lib/zeitwerk/core_ext/kernel.rb:34:in 'Kernel.require'
...
Workaround is to uncomment require 'action_cable/engine' in config/application.rb
EDIT: even with that workaround I get, for any request:
Finished "/hotwire-spark" [WebSocket] for 127.0.0.1 at 2025-12-17 04:00:09 +0000
There was an exception - NoMethodError(undefined method 'fetch' for nil)
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/configuration.rb:41:in 'ActionCable::Server::Configuration#pubsub_adapter'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:97:in 'block in ActionCable::Server::Base#pubsub'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:97:in 'Monitor#synchronize'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/base.rb:97:in 'ActionCable::Server::Base#pubsub'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/base.rb:65:in 'ActionCable::Connection::Base#pubsub'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/channel/streams.rb:155:in 'ActionCable::Channel::Streams#pubsub'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/channel/streams.rb:139:in 'block in ActionCable::Channel::Streams#stop_all_streams'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/channel/streams.rb:138:in 'Hash#each'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/channel/streams.rb:138:in 'ActionCable::Channel::Streams#stop_all_streams'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:362:in 'block in ActiveSupport::Callbacks::CallTemplate::MethodCall#make_lambda'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:208:in 'ActiveSupport::Callbacks::Filters::After#call'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:564:in 'block in ActiveSupport::Callbacks::CallbackSequence#invoke_after'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:564:in 'Array#each'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:564:in 'ActiveSupport::Callbacks::CallbackSequence#invoke_after'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:135:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/execution_wrapper.rb:87:in 'ActiveSupport::ExecutionWrapper.wrap'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/engine.rb:87:in 'block (3 levels) in <class:Engine>'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:130:in 'BasicObject#instance_exec'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:130:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:141:in 'ActiveSupport::Callbacks#run_callbacks'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/channel/base.rb:213:in 'ActionCable::Channel::Base#unsubscribe_from_channel'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/subscriptions.rb:56:in 'ActionCable::Connection::Subscriptions#remove_subscription'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/subscriptions.rb:69:in 'block in ActionCable::Connection::Subscriptions#unsubscribe_from_all'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/subscriptions.rb:69:in 'Hash#each'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/subscriptions.rb:69:in 'ActionCable::Connection::Subscriptions#unsubscribe_from_all'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/base.rb:216:in 'ActionCable::Connection::Base#handle_close'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/worker.rb:60:in 'block in ActionCable::Server::Worker#invoke'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/callbacks.rb:121:in 'block in ActiveSupport::Callbacks#run_callbacks'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/tagged_logging.rb:143:in 'block in ActiveSupport::TaggedLogging#tagged'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/tagged_logging.rb:38:in 'ActiveSupport::TaggedLogging::Formatter#tagged'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/tagged_logging.rb:143:in 'ActiveSupport::TaggedLogging#tagged'
/usr/local/rvm/gems/default/gems/activesupport-8.1.1/lib/active_support/broadcast_logger.rb:228:in 'ActiveSupport::BroadcastLogger#method_missing'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/connection/tagged_logger_proxy.rb:29:in 'ActionCable::Connection::TaggedLoggerProxy#tag'
/usr/local/rvm/gems/default/gems/actioncable-8.1.1/lib/action_cable/server/worker/active_record_connection_management.rb:18:in 'ActionCable::Server::Worker::ActiveRecordConnectionManagement#with_database_connections'
...
Dependencies:
Workaround is to uncomment
require 'action_cable/engine'in config/application.rbEDIT: even with that workaround I get, for any request: