diff --git a/app/services/inline_uploads.rb b/app/services/inline_uploads.rb
index cb153e53a7d..95cabeb0b50 100644
--- a/app/services/inline_uploads.rb
+++ b/app/services/inline_uploads.rb
@@ -6,7 +6,7 @@ class InlineUploads
PLACEHOLDER = "__replace__"
PATH_PLACEHOLDER = "__replace_path__"
- UPLOAD_REGEXP_PATTERN = "/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-z0-9.]*)"
+ UPLOAD_REGEXP_PATTERN = "/original/(\\dX/(?:[a-f0-9]/)*[a-f0-9]{40}[a-zA-Z0-9.]*)"
private_constant :UPLOAD_REGEXP_PATTERN
def self.process(markdown, on_missing: nil)
@@ -232,9 +232,9 @@ class InlineUploads
matches = []
regexps = [
- /(upload:\/\/([a-zA-Z0-9]+)[a-z0-9\.]*)/,
- /(\/uploads\/short-url\/([a-zA-Z0-9]+)[a-z0-9\.]*)/,
- /(#{Discourse.base_url}\/uploads\/short-url\/([a-zA-Z0-9]+)[a-z0-9\.]*)/,
+ /(upload:\/\/([a-zA-Z0-9]+)[a-zA-Z0-9\.]*)/,
+ /(\/uploads\/short-url\/([a-zA-Z0-9]+)[a-zA-Z0-9\.]*)/,
+ /(#{Discourse.base_url}\/uploads\/short-url\/([a-zA-Z0-9]+)[a-zA-Z0-9\.]*)/,
]
db = RailsMultisite::ConnectionManagement.current_db
diff --git a/spec/services/inline_uploads_spec.rb b/spec/services/inline_uploads_spec.rb
index 5bc4cafe2c3..29242933cf7 100644
--- a/spec/services/inline_uploads_spec.rb
+++ b/spec/services/inline_uploads_spec.rb
@@ -211,6 +211,16 @@ RSpec.describe InlineUploads do
MD
end
+ it "should correct img tags with uppercase upload extension" do
+ md = <<~MD
+ test
+ MD
+
+ expect(InlineUploads.process(md)).to eq(<<~MD)
+ test
+ MD
+ end
+
it "should correct image URLs to the short version" do
md = <<~MD

@@ -503,12 +513,14 @@ RSpec.describe InlineUploads do
md = <<~MD
#{upload.url}
+ test
test
MD
expect(InlineUploads.process(md)).to eq(<<~MD)


+ testtest

MD
end