wicked_pdf icon indicating copy to clipboard operation
wicked_pdf copied to clipboard

Incompatible with view_component gem

Open woller opened this issue 5 years ago • 5 comments

Issue description

In a project using both view_component and wicked_pdf, trying to render a pdf throws a fatal error. I suspect the issue is related to this other issue: https://github.com/mileszs/wicked_pdf/issues/891

System specifications

wicked_pdf gem version (output of cat Gemfile.lock | grep wicked_pdf): 2.0.2

wkhtmltopdf version (output of wkhtmltopdf --version): 12.5

whtmltopdf provider gem and version if one is used: 0.12.5.4

platform/distribution and version (e.g. Windows 10 / Ubuntu 16.04 / Heroku cedar): MacOS Catalina

Stacktrace

fatal (exception reentered):
  
#<Thread:0x00007f8c36739348@puma threadpool 002 /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/thread_pool.rb:89 run> terminated with exception (report_on_exception is true):
Traceback (most recent call last):
/Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:17:in `catch': exception reentered (fatal)
/Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:17:in `catch': can't modify frozen fatal: #<fatal: exception reentered> (FrozenError)
	87: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/thread_pool.rb:134:in `block in spawn_thread'
	86: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/server.rb:328:in `block in run'
	85: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/server.rb:472:in `process_client'
	84: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/server.rb:713:in `handle_request'
	83: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/configuration.rb:228:in `call'
	82: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/engine.rb:527:in `call'
	81: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-proxy-0.6.5/lib/rack/proxy.rb:57:in `call'
	80: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/webpacker-4.2.2/lib/webpacker/dev_server_proxy.rb:23:in `perform_request'
	79: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/host_authorization.rb:82:in `call'
	78: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.2/lib/rack/sendfile.rb:110:in `call'
	77: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/static.rb:126:in `call'
	76: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
	75: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
	74: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.2/lib/rack/runtime.rb:22:in `call'
	73: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.2/lib/rack/method_override.rb:24:in `call'
	72: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
	71: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
	70: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
	69: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:26:in `call'
	68: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:80:in `tagged'
	67: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:28:in `tagged'
	66: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:80:in `block in tagged'
	65: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:26:in `block in call'
	64: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:37:in `call_app'
	63: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
	62: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:17:in `call'
	61: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:17:in `catch'
	60: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:28:in `block in call'
	59: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:132:in `call_app'
	58: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:30:in `call'
	57: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:43:in `rescue in call'
	56: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:73:in `render_exception'
	55: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_exceptions.rb:88:in `render_for_browser_request'
	54: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_view.rb:50:in `render'
	53: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger.rb:62:in `block (2 levels) in broadcast'
	52: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger_silence.rb:36:in `silence'
	51: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger.rb:64:in `block (3 levels) in broadcast'
	50: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger_silence.rb:36:in `silence'
	49: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_view.rb:50:in `block in render'
	48: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/view_component-2.7.0/lib/view_component/render_monkey_patch.rb:9:in `render'
	47: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/helpers/rendering_helper.rb:30:in `render'
	46: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/base.rb:304:in `in_rendering_context'
	45: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/helpers/rendering_helper.rb:34:in `block in render'
	44: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/renderer.rb:22:in `render'
	43: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/renderer.rb:29:in `render_to_object'
	42: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/renderer.rb:61:in `render_template_to_object'
	41: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:13:in `render'
	40: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:56:in `render_template'
	39: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:65:in `render_with_layout'
	38: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:57:in `block in render_template'
	37: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/abstract_renderer.rb:87:in `instrument'
	36: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:180:in `instrument'
	35: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
	34: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:180:in `block in instrument'
	33: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/abstract_renderer.rb:88:in `block in instrument'
	32: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:58:in `block (2 levels) in render_template'
	31: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/template.rb:183:in `render'
	30: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/template.rb:385:in `instrument_render_template'
	29: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:182:in `instrument'
	28: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/template.rb:185:in `block in render'
	27: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/base.rb:274:in `_run'
	26: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/templates/rescues/diagnostics.html.erb:37:in `___sers_woller__rbenv_versions_______lib_ruby_gems_______gems_actionpack_________lib_action_dispatch_middleware_templates_rescues_diagnostics_html_erb__2362815147925537974_25020'
	25: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_view.rb:50:in `render'
	24: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger.rb:62:in `block (2 levels) in broadcast'
	23: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger_silence.rb:36:in `silence'
	22: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger.rb:64:in `block (3 levels) in broadcast'
	21: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/logger_silence.rb:36:in `silence'
	20: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/debug_view.rb:50:in `block in render'
	19: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/view_component-2.7.0/lib/view_component/render_monkey_patch.rb:9:in `render'
	18: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/helpers/rendering_helper.rb:30:in `render'
	17: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/base.rb:304:in `in_rendering_context'
	16: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/helpers/rendering_helper.rb:34:in `block in render'
	15: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/renderer.rb:22:in `render'
	14: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/renderer.rb:29:in `render_to_object'
	13: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/renderer.rb:61:in `render_template_to_object'
	12: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:13:in `render'
	11: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:56:in `render_template'
	10: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:65:in `render_with_layout'
	 9: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:57:in `block in render_template'
	 8: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/abstract_renderer.rb:87:in `instrument'
	 7: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:180:in `instrument'
	 6: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications/instrumenter.rb:24:in `instrument'
	 5: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/notifications.rb:180:in `block in instrument'
	 4: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/abstract_renderer.rb:88:in `block in instrument'
	 3: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/renderer/template_renderer.rb:58:in `block (2 levels) in render_template'
	 2: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/template.rb:182:in `render'
	 1: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/template.rb:188:in `rescue in render'
/Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionview-6.0.3.1/lib/action_view/template.rb:354:in `handle_render_error': can't modify frozen fatal: #<fatal: exception reentered> (ActionView::Template::Error)
	30: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/thread_pool.rb:134:in `block in spawn_thread'
	29: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/server.rb:328:in `block in run'
	28: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/server.rb:472:in `process_client'
	27: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/server.rb:713:in `handle_request'
	26: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/puma-4.3.5/lib/puma/configuration.rb:228:in `call'
	25: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/engine.rb:527:in `call'
	24: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-proxy-0.6.5/lib/rack/proxy.rb:57:in `call'
	23: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/webpacker-4.2.2/lib/webpacker/dev_server_proxy.rb:23:in `perform_request'
	22: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/host_authorization.rb:82:in `call'
	21: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.2/lib/rack/sendfile.rb:110:in `call'
	20: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/static.rb:126:in `call'
	19: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/executor.rb:14:in `call'
	18: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call'
	17: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.2/lib/rack/runtime.rb:22:in `call'
	16: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/rack-2.2.2/lib/rack/method_override.rb:24:in `call'
	15: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/request_id.rb:27:in `call'
	14: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/remote_ip.rb:81:in `call'
	13: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/sprockets-rails-3.2.1/lib/sprockets/rails/quiet_assets.rb:13:in `call'
	12: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:26:in `call'
	11: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:80:in `tagged'
	10: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:28:in `tagged'
	 9: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/activesupport-6.0.3.1/lib/active_support/tagged_logging.rb:80:in `block in tagged'
	 8: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:26:in `block in call'
	 7: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/railties-6.0.3.1/lib/rails/rack/logger.rb:37:in `call_app'
	 6: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/actionpack-6.0.3.1/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call'
	 5: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:17:in `call'
	 4: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:17:in `catch'
	 3: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:28:in `block in call'
	 2: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:131:in `call_app'
	 1: from /Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:134:in `rescue in call_app'
/Users/woller/.rbenv/versions/2.7.1/lib/ruby/gems/2.7.0/gems/web-console-4.0.2/lib/web_console/middleware.rb:134:in `throw': uncaught throw :app_exception (UncaughtThrowError)

woller avatar May 28 '20 13:05 woller

If it helps, I've tested @Okatawa's fix and it works with my render loop issue as well!

anlek avatar Jun 30 '20 22:06 anlek

Hi, could we please look at getting this merged? Blocker for a lot of apps that use view_component

acetinick avatar Aug 06 '21 07:08 acetinick

FYI this could be unrelated, but view_component implemented a fix: https://github.com/github/view_component/pull/358, both libraries were monkey patching render, and view_component has an option to disable its monkey patching now (config.view_component.render_monkey_patch_enabled = fase), but you'll need to call render_component instead of render when rendering view components. Rails >= 6.1 should just work without needing to disable anything.

Samsinite avatar Apr 01 '22 19:04 Samsinite

Hey guys. Thanks for digging into this.

Would you be open to using the same approach with wicked_pdf? Have a switch somewhere to stop monkey patching the render method and use another render_pdf (or similar) method? I could dive into the code and apply a similar patch to wicked_pdf if that's something you'd be open to @mileszs.

A bit of context: I'm the author of https://github.com/avo-hq/avo and we have users that use Avo and wicked_pdf, and Avo together. Avo uses View Components so they raise an exception.

The reasoning behind having this option in wicked_pdf is that we offer the ability to break out of the DSL using regular Rails code on multiple levels, so this API becomes public. So a lot of users will expect to be able to use render with View Components. I think it will be less friction to change the wicked_pdf statements rather than the one for View Component.

TL;DR;

Are you open to adding a render_monkey_patch_enabled? helper to wicked_pdf that would remove the monkey patch?

Thanks!

adrianthedev avatar Sep 26 '22 07:09 adrianthedev

Yes, I've long wanted to make it so that this library doesn't hook into render at all (by default), but would want to release an intermediate version to deprecate the old behavior and make the suggested code change easy before releasing the breaking change.

Something like this is my desired implementation:

def show
  render wicked_pdf(options)
end
# or
def show
  wicked_pdf(options)
end

I just haven't made the time to do it. Your help would be appreciated.

unixmonkey avatar Sep 27 '22 14:09 unixmonkey