Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Incompatible with view_component gem #917

Open
woller opened this issue May 28, 2020 · 5 comments
Open

Incompatible with view_component gem #917

woller opened this issue May 28, 2020 · 5 comments

Comments

@woller
Copy link

woller commented May 28, 2020

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: #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)
@anlek
Copy link
Contributor

anlek commented Jun 30, 2020

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

@acetinick
Copy link

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

@Samsinite
Copy link

Samsinite commented Apr 1, 2022

FYI this could be unrelated, but view_component implemented a fix: ViewComponent/view_component#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.

@adrianthedev
Copy link

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!

@unixmonkey
Copy link
Collaborator

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

6 participants