diff options
author | Felipe Artur <felipefac@gmail.com> | 2019-08-05 23:52:38 +0300 |
---|---|---|
committer | Felipe Artur <felipefac@gmail.com> | 2019-08-07 21:39:48 +0300 |
commit | 831ceea92429708c2621e31d076d57a13a712b41 (patch) | |
tree | 551061f77c086ffa4f498f382d594c706aaff215 /lib/gitlab/gfm | |
parent | b82931359b5f9656d739bfbb600438ddf2213ce0 (diff) |
Prevent rewritting plain links as embedded
Prevents rewritting plain image/video links as embedded when moving
issues.
Diffstat (limited to 'lib/gitlab/gfm')
-rw-r--r-- | lib/gitlab/gfm/uploads_rewriter.rb | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/gitlab/gfm/uploads_rewriter.rb b/lib/gitlab/gfm/uploads_rewriter.rb index 2d1c9ac40ae..6b52d6e88e5 100644 --- a/lib/gitlab/gfm/uploads_rewriter.rb +++ b/lib/gitlab/gfm/uploads_rewriter.rb @@ -27,7 +27,15 @@ module Gitlab klass = target_parent.is_a?(Namespace) ? NamespaceFileUploader : FileUploader moved = klass.copy_to(file, target_parent) - moved.markdown_link + + moved_markdown = moved.markdown_link + + # Prevents rewrite of plain links as embedded + if was_embedded?(markdown) + moved_markdown + else + moved_markdown.sub(/\A!/, "") + end end end @@ -43,6 +51,10 @@ module Gitlab referenced_files.compact.select(&:exists?) end + def was_embedded?(markdown) + markdown.starts_with?("!") + end + private def find_file(project, secret, file) |