Design reference rendering fails with 500 error
Summary
Design reference rendering fails due to the lack of support in reference redaction
Steps to reproduce
- Enable the design reference parser feature flag
- then create an issue that references some designs in its description (eg.
#1[foo.jpg]
) - then visit that issue page
See that the rendering fails
Example Project
https://staging.gitlab.com/alexkalderimis/design-references-test/issues/1
What is the current bug behavior?
Rendering fails with an uncaught exception.
What is the expected correct behavior?
Rendering should always succeed
Relevant logs and/or screenshots
Associated message:
uninitialized constant Banzai::ReferenceParser::Parser
Did you mean? HttpParser
Associated backtrace:
lib/banzai/reference_parser.rb:13:in `const_get'
lib/banzai/reference_parser.rb:13:in `[]'
lib/banzai/reference_redactor.rb:111:in `block in nodes_visible_to_user'
lib/banzai/reference_redactor.rb:110:in `each'
lib/banzai/reference_redactor.rb:110:in `nodes_visible_to_user'
lib/banzai/reference_redactor.rb:37:in `redact_document_nodes'
lib/banzai/reference_redactor.rb:29:in `redact'
lib/banzai/filter/reference_redactor_filter.rb:15:in `call'
lib/banzai/pipeline/base_pipeline.rb:23:in `block (2 levels) in singleton class'
lib/banzai/renderer.rb:153:in `post_process'
lib/banzai.rb:28:in `post_process'
app/helpers/markup_helper.rb:308:in `prepare_for_rendering'
app/helpers/markup_helper.rb:286:in `render_markdown_field'
...
Output of checks
This bug happens on staging.gitlab.com
Possible fixes
Design reference filter needs fix to work with ReferenceRedactor
We need tests for full pipeline, exercising Banzai::Renderer
and the full feature