diff --git a/app/services/inline_uploads.rb b/app/services/inline_uploads.rb index d7f36a083a3..0c270296a97 100644 --- a/app/services/inline_uploads.rb +++ b/app/services/inline_uploads.rb @@ -100,7 +100,7 @@ class InlineUploads end end - markdown.scan(/((\n|\s)+)#{regexp}/) do |match| + markdown.scan(/(([\n\s\)\]\<])+)#{regexp}/) do |match| if matched_uploads(match[2]).present? next if indexes.include?($~.offset(3)[0]) diff --git a/spec/services/inline_uploads_spec.rb b/spec/services/inline_uploads_spec.rb index fc1ca632bfe..06337142b0d 100644 --- a/spec/services/inline_uploads_spec.rb +++ b/spec/services/inline_uploads_spec.rb @@ -234,6 +234,20 @@ RSpec.describe InlineUploads do MD end + it "should correct image URLs that follows an image md" do + md = <<~MD + ![image|690x290](#{upload.short_url})#{Discourse.base_url}#{upload2.url} + + <#{Discourse.base_url}#{upload2.url}> + MD + + expect(InlineUploads.process(md)).to eq(<<~MD) + ![image|690x290](#{upload.short_url})#{Discourse.base_url}#{upload2.short_path} + + <#{Discourse.base_url}#{upload2.short_path}> + MD + end + it "should correct image URLs to the short version" do md = <<~MD ![image|690x290](#{upload.short_url})