diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb
index edd5b39a1..b7bc97945 100644
--- a/app/helpers/application_helper.rb
+++ b/app/helpers/application_helper.rb
@@ -76,8 +76,10 @@ module ApplicationHelper
"https://res.cloudinary.com/#{ApplicationConfig['CLOUDINARY_CLOUD_NAME']}/image/upload/#{postfix}"
end
- def optimized_image_url(url, width: 500, quality: 80, fetch_format: "auto")
- image_url = url.presence || asset_path("#{rand(1..40)}.png")
+ def optimized_image_url(url, width: 500, quality: 80, fetch_format: "auto", random_fallback: true)
+ fallback_image = asset_path("#{rand(1..40)}.png") if random_fallback
+
+ return unless (image_url = url.presence || fallback_image)
Images::Optimizer.call(SimpleIDN.to_ascii(image_url), width: width, quality: quality, fetch_format: fetch_format)
end
diff --git a/app/views/admin/configs/show.html.erb b/app/views/admin/configs/show.html.erb
index cf60b15f6..fa90405b5 100644
--- a/app/views/admin/configs/show.html.erb
+++ b/app/views/admin/configs/show.html.erb
@@ -778,7 +778,7 @@
placeholder: Constants::SiteConfig::DETAILS[:onboarding_background_image][:placeholder] %>
-

+
<%= Constants::SiteConfig::DETAILS[:onboarding_background_image][:description] %>
@@ -794,7 +794,7 @@
placeholder: Constants::SiteConfig::DETAILS[:onboarding_taskcard_image][:placeholder] %>
-

+
<%= Constants::SiteConfig::DETAILS[:onboarding_taskcard_image][:description] %>
diff --git a/app/views/onboardings/show.html.erb b/app/views/onboardings/show.html.erb
index bd9c4d214..592eff8e3 100644
--- a/app/views/onboardings/show.html.erb
+++ b/app/views/onboardings/show.html.erb
@@ -15,7 +15,7 @@
data-community-name="<%= community_name %>"
data-community-description="<%= SiteConfig.community_description %>"
data-community-logo="<%= optimized_image_url(safe_logo_url(SiteConfig.onboarding_logo_image)) %>"
- data-community-background="<%= optimized_image_url(SiteConfig.onboarding_background_image, width: 1680, quality: 75) %>">
+ data-community-background="<%= optimized_image_url(SiteConfig.onboarding_background_image, width: 1680, quality: 75, random_fallback: false) %>">
<%= javascript_packs_with_chunks_tag "Onboarding", defer: true %>
diff --git a/spec/helpers/application_helper_spec.rb b/spec/helpers/application_helper_spec.rb
index 5a853208a..324bdf686 100644
--- a/spec/helpers/application_helper_spec.rb
+++ b/spec/helpers/application_helper_spec.rb
@@ -207,6 +207,11 @@ RSpec.describe ApplicationHelper, type: :helper do
it "keeps an ASCII domain as ASCII" do
expect(helper.optimized_image_url("https://www.xn--vnx.dev/image.png")).to include("https://www.xn--vnx.dev")
end
+
+ it "returns random fallback images as expected" do
+ expect(helper.optimized_image_url("")).not_to be_nil
+ expect(helper.optimized_image_url("", random_fallback: false)).to be_nil
+ end
end
describe "#optimized_image_tag" do