FIX: use `short_path` of flair upload to get signed url for secure media.

FIX: use short_path of flair upload to get signed url for secure media.

If we use upload.url for secure urls then the images won’t render.

diff --git a/app/models/group.rb b/app/models/group.rb
index d99fb25..0988cc3 100644
--- a/app/models/group.rb
+++ b/app/models/group.rb
@@ -750,7 +750,7 @@ class Group < ActiveRecord::Base
   end
 
   def flair_url
-    flair_icon.presence || flair_upload&.url
+    flair_icon.presence || flair_upload&.short_path
   end
 
   protected
diff --git a/spec/jobs/migrate_group_flair_images_spec.rb b/spec/jobs/migrate_group_flair_images_spec.rb
index ff3428f..cc72d26 100644
--- a/spec/jobs/migrate_group_flair_images_spec.rb
+++ b/spec/jobs/migrate_group_flair_images_spec.rb
@@ -28,7 +28,9 @@ RSpec.describe Jobs::MigrateGroupFlairImages do
     end.to change { Upload.count }.by(1)
 
     group.reload
-    expect(group.flair_upload).to eq(Upload.last)
+    upload = Upload.last
+    expect(group.flair_upload).to eq(upload)
+    expect(group.flair_url).to eq(upload.short_path)
     expect(group[:flair_url]).to eq(nil)
   end
 

GitHub sha: 0f20a6f0

1 Like