From 210de793c4eacd7f9d8d33664a191ed330c2eb7f Mon Sep 17 00:00:00 2001 From: "Sure Admin (bot)" Date: Mon, 7 Sep 2026 13:46:19 -0700 Subject: [PATCH] Fix Sidekiq health banner overlap (#3432) --- app/views/layouts/application.html.erb | 2 ++ app/views/layouts/settings.html.erb | 1 + app/views/layouts/shared/_htmldoc.html.erb | 34 ++++++++++++------- .../shared/_sidekiq_health_banner.html.erb | 1 + test/system/sidekiq_health_banner_test.rb | 26 ++++++++++++++ 5 files changed, 51 insertions(+), 13 deletions(-) create mode 100644 test/system/sidekiq_health_banner_test.rb diff --git a/app/views/layouts/application.html.erb b/app/views/layouts/application.html.erb index e9967775f..f25f2f669 100644 --- a/app/views/layouts/application.html.erb +++ b/app/views/layouts/application.html.erb @@ -207,6 +207,8 @@ end %> <% end %> + <%= yield :system_alerts %> + <% if content_for?(:page_header) %> <%= yield :page_header %> <% end %> diff --git a/app/views/layouts/settings.html.erb b/app/views/layouts/settings.html.erb index 761203f47..f14a94eb7 100644 --- a/app/views/layouts/settings.html.erb +++ b/app/views/layouts/settings.html.erb @@ -36,6 +36,7 @@
+ <%= yield :system_alerts %> <%= yield %> <%= settings_nav_footer_mobile %>
diff --git a/app/views/layouts/shared/_htmldoc.html.erb b/app/views/layouts/shared/_htmldoc.html.erb index 444e053f1..8f8600e21 100644 --- a/app/views/layouts/shared/_htmldoc.html.erb +++ b/app/views/layouts/shared/_htmldoc.html.erb @@ -40,19 +40,27 @@ and for managed-mode deployments — `current_sidekiq_health` returns nil in those cases. %> <% if Current.user&.super_admin? && current_sidekiq_health && !current_sidekiq_health.healthy? %> - <%# Stack below any sticky impersonation bars instead of hard-coding - 80px (`top-20`). Each bar is ~60px tall (`py-4` + content), so - adjust the fixed offset based on how many are visible. %> - <% banner_top_class = if super_admin_bar_visible && approval_bar_visible - "top-36" - elsif super_admin_bar_visible || approval_bar_visible - "top-20" - else - "top-4" - end %> - + <% if sidebar_aware %> + <% content_for :system_alerts do %> +
+ <%= render "shared/sidekiq_health_banner", health: current_sidekiq_health %> +
+ <% end %> + <% else %> + <%# Stack below any sticky impersonation bars instead of hard-coding + 80px (`top-20`). Each bar is ~60px tall (`py-4` + content), so + adjust the fixed offset based on how many are visible. %> + <% banner_top_class = if super_admin_bar_visible && approval_bar_visible + "top-36" + elsif super_admin_bar_visible || approval_bar_visible + "top-20" + else + "top-4" + end %> + + <% end %> <% end %> <%= yield %> diff --git a/app/views/shared/_sidekiq_health_banner.html.erb b/app/views/shared/_sidekiq_health_banner.html.erb index 0c3756f12..9827659f0 100644 --- a/app/views/shared/_sidekiq_health_banner.html.erb +++ b/app/views/shared/_sidekiq_health_banner.html.erb @@ -11,6 +11,7 @@