If the Markdown URL [](url) is not valid, display it as plaintext
ZD: https://gitlab.zendesk.com/agent/tickets/86361
For example, you might have a log format that displays as such:
[68342:2104825] (open(/var/tmp/): Library not loaded: /location
10:09:37 Referenced from: /var/tmp/
10:09:37 Reason: Incompatible thing:)
If you do not put this in a code block (as above) and just paste it into an issue, GitLab will 500 with:
Completed 500 Internal Server Error in 373ms (ActiveRecord: 32.1ms | Elasticsearch: 0.0ms)
Addressable::URI::InvalidURIError (Cannot assemble URI string with ambiguous path: 'open(/var/tmp/): Library not loaded: /location
10:09:37 Referenced from: /var/tmp/
10:09:37 Reason: Incompatible thing:'):
lib/banzai/filter/relative_link_filter.rb:56:in `rebuild_relative_uri'
lib/gitlab/metrics/instrumentation.rb:156:in `block in rebuild_relative_uri'
lib/gitlab/metrics/method_call.rb:23:in `measure'
lib/gitlab/metrics/instrumentation.rb:156:in `rebuild_relative_uri'
lib/banzai/filter/relative_link_filter.rb:42:in `process_link_attr'
lib/gitlab/metrics/instrumentation.rb:156:in `block in process_link_attr'
lib/gitlab/metrics/method_call.rb:23:in `measure'
lib/gitlab/metrics/instrumentation.rb:156:in `process_link_attr'
lib/banzai/filter/relative_link_filter.rb:20:in `block in call'
lib/banzai/filter/relative_link_filter.rb:19:in `call'
lib/gitlab/metrics/instrumentation.rb:156:in `block in call'
lib/gitlab/metrics/method_call.rb:23:in `measure'
lib/gitlab/metrics/instrumentation.rb:156:in `call'
lib/banzai/pipeline/base_pipeline.rb:21:in `block (2 levels) in singleton class'
lib/banzai/object_renderer.rb:61:in `block in post_process_documents'
lib/banzai/object_renderer.rb:59:in `map'
lib/banzai/object_renderer.rb:59:in `post_process_documents'
lib/gitlab/metrics/instrumentation.rb:156:in `block in post_process_documents'
lib/gitlab/metrics/method_call.rb:23:in `measure'
lib/gitlab/metrics/instrumentation.rb:156:in `post_process_documents'
lib/banzai/object_renderer.rb:35:in `render'
lib/gitlab/metrics/instrumentation.rb:156:in `block in render'
lib/gitlab/metrics/method_call.rb:23:in `measure'
lib/gitlab/metrics/instrumentation.rb:156:in `render'
lib/banzai/note_renderer.rb:18:in `render'
lib/gitlab/metrics/instrumentation.rb:156:in `block in render'
lib/gitlab/metrics/method_call.rb:23:in `measure'
lib/gitlab/metrics/instrumentation.rb:156:in `render'
app/controllers/concerns/renders_notes.rb:5:in `prepare_notes_for_rendering'
app/controllers/projects/merge_requests_controller.rb:557:in `define_discussion_vars'
app/controllers/projects/merge_requests_controller.rb:82:in `block (2 levels) in show'
app/controllers/projects/merge_requests_controller.rb:80:in `show'
app/controllers/application_controller.rb:285:in `set_locale'
lib/gitlab/middleware/multipart.rb:93:in `call'
lib/gitlab/request_profiler/middleware.rb:14:in `call'
lib/gitlab/middleware/go.rb:16:in `call'
lib/gitlab/etag_caching/middleware.rb:11:in `call'
lib/gitlab/middleware/rails_queue_duration.rb:20:in `call'
lib/gitlab/metrics/rack_middleware.rb:29:in `block in call'
lib/gitlab/metrics/transaction.rb:49:in `run'
lib/gitlab/m
Can we fail gracefully here and just display it as text?
cc/ @smcgivern @victorwu