lookbook-hq / lookbook

A UI development environment for Ruby on Rails apps ✨
https://lookbook.build
MIT License
913 stars 94 forks source link

Lookbook tries to render our icon component rather than its own #473

Closed DRBragg closed 1 year ago

DRBragg commented 1 year ago

Describe the bug

We're attempting to upgrade to Lookbook v2 (finally) and running into a strange issue where lookbook tries to render icons with our icon component rather than its own. On any preview page we get this: Screenshot 2023-05-24 at 11 43 44 In the stack trace I noticed this: Screenshot 2023-05-24 at 11 43 59

Full Stack Trace Full stack trace: /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline/transformations/size.rb:11:in `width_of' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline/transformations/size.rb:5:in `block in transform' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline/transformations/transformation.rb:26:in `with_svg' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline/transformations/size.rb:4:in `transform' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline.rb:6:in `block in generate_html_from' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline.rb:5:in `each' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline.rb:5:in `reduce' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/transform_pipeline.rb:5:in `generate_html_from' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/action_view/helpers.rb:50:in `render_inline_svg' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/action_view/helpers.rb:9:in `block in inline_svg_tag' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/action_view/helpers.rb:78:in `with_asset_finder' /app/bundler/root/gems/ruby/2.7.0/gems/inline_svg-1.9.0/lib/inline_svg/action_view/helpers.rb:8:in `inline_svg_tag' /app/development/app/components/icon/component.rb:12:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slot.rb:62:in `to_s' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/core_ext/string/output_safety.rb:42:in `unwrapped_html_escape' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/output_safety_helper.rb:36:in `block in safe_join' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/output_safety_helper.rb:36:in `map!' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/output_safety_helper.rb:36:in `safe_join' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/icon_button/component.html.erb:14:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:44:in `lookbook_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/base_component.rb:17:in `render_component_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/icon_button/component.html.erb:1:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/copy_button/component.html.erb:1:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/embed_code_dropdown/component.html.erb:26:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:44:in `lookbook_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/base_component.rb:17:in `render_component_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/embed_code_dropdown/component.html.erb:1:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:58:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:58:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/views/lookbook/inspector/show.html.erb:39:in `block (6 levels) in __app_bundler_root_gems_ruby_______gems_lookbook_______app_views_lookbook_inspector_show_html_erb___1775450228223270832_128000' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:365:in `block in set_slot' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:320:in `get_slot' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:92:in `block in renders_one' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/button/component.rb:14:in `dropdown?' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/button/component.rb:26:in `before_render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:102:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/button_group/component.rb:8:in `block in ' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:364:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:364:in `set_slot' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:158:in `block in renders_many' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/views/lookbook/inspector/show.html.erb:38:in `block (5 levels) in __app_bundler_root_gems_ruby_______gems_lookbook_______app_views_lookbook_inspector_show_html_erb___1775450228223270832_128000' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:320:in `get_slot' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:179:in `block in renders_many' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/button_group/component.html.erb:2:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:44:in `lookbook_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/base_component.rb:17:in `render_component_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/button_group/component.html.erb:1:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/views/lookbook/inspector/show.html.erb:36:in `block (4 levels) in __app_bundler_root_gems_ruby_______gems_lookbook_______app_views_lookbook_inspector_show_html_erb___1775450228223270832_128000' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slot.rb:60:in `to_s' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/core_ext/string/output_safety.rb:42:in `unwrapped_html_escape' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/output_safety_helper.rb:36:in `block in safe_join' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/output_safety_helper.rb:36:in `map!' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/output_safety_helper.rb:36:in `safe_join' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/toolbar/component.html.erb:3:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:44:in `lookbook_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/base_component.rb:17:in `render_component_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/toolbar/component.html.erb:1:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/views/lookbook/inspector/show.html.erb:13:in `block (2 levels) in __app_bundler_root_gems_ruby_______gems_lookbook_______app_views_lookbook_inspector_show_html_erb___1775450228223270832_128000' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slot.rb:60:in `to_s' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/buffers.rb:29:in `<<' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/views/lookbook/inspector/show.html.erb:10:in `block in __app_bundler_root_gems_ruby_______gems_lookbook_______app_views_lookbook_inspector_show_html_erb___1775450228223270832_128000' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:320:in `get_slot' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/slotable.rb:179:in `block in renders_many' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/split_layout/component.html.erb:2:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:234:in `content' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:18:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `block in capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:209:in `with_output_buffer' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/capture_helper.rb:45:in `capture' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:59:in `tag_string' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/tag_helper.rb:174:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/tag_component.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:164:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:44:in `lookbook_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/base_component.rb:17:in `render_component_tag' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/components/lookbook/split_layout/component.html.erb:1:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/compiler.rb:115:in `render_template_for' /app/bundler/root/gems/ruby/2.7.0/gems/view_component-3.0.0/lib/view_component/base.rb:105:in `render_in' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/helpers/rendering_helper.rb:43:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/lib/lookbook/helpers/ui_elements_helper.rb:56:in `lookbook_render' /app/bundler/root/gems/ruby/2.7.0/gems/lookbook-2.0.3/app/views/lookbook/inspector/show.html.erb:2:in `__app_bundler_root_gems_ruby_______gems_lookbook_______app_views_lookbook_inspector_show_html_erb___1775450228223270832_128000' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/base.rb:247:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/base.rb:247:in `_run' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/template.rb:154:in `block in render' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:205:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/template.rb:345:in `instrument_render_template' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/template.rb:152:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/template_renderer.rb:61:in `block (2 levels) in render_template' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:203:in `block in instrument' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:203:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/template_renderer.rb:56:in `block in render_template' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/template_renderer.rb:71:in `block in render_with_layout' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:203:in `block in instrument' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:203:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/template_renderer.rb:70:in `render_with_layout' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/template_renderer.rb:55:in `render_template' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/template_renderer.rb:11:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/renderer.rb:61:in `render_template_to_object' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/renderer/renderer.rb:29:in `render_to_object' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/rendering.rb:117:in `block in _render_template' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/base.rb:273:in `in_rendering_context' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/rendering.rb:116:in `_render_template' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/streaming.rb:218:in `_render_template' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/rendering.rb:103:in `render_to_body' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/rendering.rb:52:in `render_to_body' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/renderers.rb:142:in `render_to_body' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/abstract_controller/rendering.rb:25:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/rendering.rb:36:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/instrumentation.rb:46:in `block (2 levels) in render' /usr/local/lib/ruby/2.7.0/benchmark.rb:308:in `realtime' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/core_ext/benchmark.rb:14:in `ms' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/instrumentation.rb:46:in `block in render' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/instrumentation.rb:86:in `cleanup_view_runtime' /app/bundler/root/gems/ruby/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/railties/controller_runtime.rb:34:in `cleanup_view_runtime' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/instrumentation.rb:45:in `render' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/implicit_render.rb:35:in `default_render' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `block in send_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `tap' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/abstract_controller/base.rb:228:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/rendering.rb:30:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/abstract_controller/callbacks.rb:42:in `block in process_action' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:106:in `run_callbacks' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/abstract_controller/callbacks.rb:41:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/rescue.rb:22:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/instrumentation.rb:34:in `block in process_action' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:203:in `block in instrument' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications/instrumenter.rb:24:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/notifications.rb:203:in `instrument' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/instrumentation.rb:33:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal/params_wrapper.rb:249:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/railties/controller_runtime.rb:27:in `process_action' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/abstract_controller/base.rb:165:in `process' /app/bundler/root/gems/ruby/2.7.0/gems/actionview-6.1.7.3/lib/action_view/rendering.rb:39:in `process' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal.rb:190:in `dispatch' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_controller/metal.rb:254:in `dispatch' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/routing/route_set.rb:50:in `dispatch' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/routing/route_set.rb:33:in `serve' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/journey/router.rb:50:in `block in serve' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/journey/router.rb:32:in `each' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/journey/router.rb:32:in `serve' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/routing/route_set.rb:842:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/engine.rb:539:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/railtie.rb:207:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/railtie.rb:207:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/routing/mapper.rb:20:in `block in ' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/routing/mapper.rb:49:in `serve' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/journey/router.rb:50:in `block in serve' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/journey/router.rb:32:in `each' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/journey/router.rb:32:in `serve' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/routing/route_set.rb:842:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/static.rb:24:in `call' /app/development/lib/within3/request_logging/middleware.rb:44:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/static.rb:161:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/tempfile_reaper.rb:15:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/etag.rb:27:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/conditional_get.rb:27:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/head.rb:12:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/http/permissions_policy.rb:22:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/http/content_security_policy.rb:19:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb:266:in `context' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/session/abstract/id.rb:260:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/cookies.rb:697:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/activerecord-6.1.7.3/lib/active_record/migration.rb:601:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/callbacks.rb:27:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/callbacks.rb:98:in `run_callbacks' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/callbacks.rb:26:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/actionable_exceptions.rb:18:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/airbrake-13.0.3/lib/airbrake/rack/middleware.rb:34:in `call!' /app/bundler/root/gems/ruby/2.7.0/gems/airbrake-13.0.3/lib/airbrake/rack/middleware.rb:23:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/debug_exceptions.rb:29:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/web-console-4.2.0/lib/web_console/middleware.rb:132:in `call_app' /app/bundler/root/gems/ruby/2.7.0/gems/web-console-4.2.0/lib/web_console/middleware.rb:28:in `block in call' /app/bundler/root/gems/ruby/2.7.0/gems/web-console-4.2.0/lib/web_console/middleware.rb:17:in `catch' /app/bundler/root/gems/ruby/2.7.0/gems/web-console-4.2.0/lib/web_console/middleware.rb:17:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/show_exceptions.rb:33:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/rack/logger.rb:37:in `call_app' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/rack/logger.rb:28:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/sprockets-rails-3.2.2/lib/sprockets/rails/quiet_assets.rb:13:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/remote_ip.rb:81:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/request_id.rb:26:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/method_override.rb:24:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/runtime.rb:22:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/activesupport-6.1.7.3/lib/active_support/cache/strategy/local_cache_middleware.rb:29:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/executor.rb:14:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/static.rb:24:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/sendfile.rb:110:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/actionpack-6.1.7.3/lib/action_dispatch/middleware/host_authorization.rb:148:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/webpacker-5.4.4/lib/webpacker/dev_server_proxy.rb:25:in `perform_request' /app/bundler/root/gems/ruby/2.7.0/gems/rack-proxy-0.7.6/lib/rack/proxy.rb:87:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/engine.rb:539:in `call' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/railtie.rb:207:in `public_send' /app/bundler/root/gems/ruby/2.7.0/gems/railties-6.1.7.3/lib/rails/railtie.rb:207:in `method_missing' /app/bundler/root/gems/ruby/2.7.0/gems/rack-2.2.7/lib/rack/handler/webrick.rb:95:in `service' /usr/local/lib/ruby/2.7.0/webrick/httpserver.rb:140:in `service' /usr/local/lib/ruby/2.7.0/webrick/httpserver.rb:96:in `run' /usr/local/lib/ruby/2.7.0/webrick/server.rb:307:in `block in start_thread'

I can adjust our icon component to ensure that size is a string but then some icons don't render (that's also not great behavior). I tried using a custom fork where I adjusted the icon slot in Lookbook::IconButton::Component to use Lookbook::Icon::Component explicitly instead of Icon::Component and that solved the problem.

Since that change was made a while ago and I appear to be the first to run into the issue I wonder if it's our app that is the problem. Or if there's an unlisted requirement of Lookbook that might be the issue?

Currently we're using Ruby 2.7 and Rails 6.1. However we are still using the classic autoloader. Could that be part of the issue?

Expected behavior

Lookbook uses its own icon component to render icons

Version numbers

Please complete the following information:

Additional context

Our app also does many goofy things (like autoloading all of lib/ 😬 ) so this very well may be an us problem. I will try to spin up a new rails app and see if I can duplicate.

allmarkedup commented 1 year ago

Hey @DRBragg! Good to hear from you, apologies for the slow reply but I'm currently moving house at the moment and things are all a bit hectic...

I'm super glad that you are on the path to upgrading to Lookbook v2 - mostly to help assuage my guilt that I haven't found time to work on the older-Rails compatibility PR or your other bug report (even though it's still the bug report ever).

Looks like you've updgraded to Rails 6.1 now - I'm assuming that was quite the large job?! Congratulations anyway :-)

I'm not quite sure why you are seeing this behaviour but it might well be a classic autoloader vs Zeitwerk thing, that would make sense. Regardless, I've just fixed it on main and will get another release out with this included shortly.

I've been through the app and I can't see anywhere else obvious where a similar namespacing issue might occur but please do let me know if you run into anything else.

allmarkedup commented 1 year ago

@DRBragg I've just release v2.0.4 with the fix for this so I'll close this down now, but any other issues just let me know. Thanks again for the bug report and all the detail in there too!

DRBragg commented 1 year ago

Thanks @allmarkedup! You rock. If I ever make it to Brighton, or you come to the US I owe you a beer.

allmarkedup commented 1 year ago

Ah thank you @DRBragg, very kind :-) I hope to be able to take you up on that offer at some point!