From b15f15f22d2a8c677e32f3ea80f04dc9a064aca3 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Fri, 16 Oct 2026 00:17:10 +0200 Subject: [PATCH] fix(ui): keep update badge inside the sidebar brand area Closes #11801 --- resources/views/layouts/app.blade.php | 8 ++--- tests/v4/Browser/UpgradeBadgeLayoutTest.php | 37 +++++++++++++++++++++ 2 files changed, 41 insertions(+), 4 deletions(-) create mode 100644 tests/v4/Browser/UpgradeBadgeLayoutTest.php diff --git a/resources/views/layouts/app.blade.php b/resources/views/layouts/app.blade.php index dc7c1e3e88..dab1ed7a94 100644 --- a/resources/views/layouts/app.blade.php +++ b/resources/views/layouts/app.blade.php @@ -63,15 +63,15 @@ {{-- Brand (width tracks sidebar) --}}
-
+ @if (isInstanceAdmin() && !isCloud())
diff --git a/tests/v4/Browser/UpgradeBadgeLayoutTest.php b/tests/v4/Browser/UpgradeBadgeLayoutTest.php new file mode 100644 index 0000000000..361e4a097b --- /dev/null +++ b/tests/v4/Browser/UpgradeBadgeLayoutTest.php @@ -0,0 +1,37 @@ +set('constants.coolify.version', $version); + seedBrowserResourceStack(['instanceSettings' => ['new_version_available' => true]]); + Cache::put('coolify:versions:all', ['coolify' => ['v4' => ['version' => '9.9.9']]], 3600); + + $page = visit('/login') + ->fill('email', 'test@example.com') + ->fill('password', 'password') + ->click('Login') + ->assertSee('Dashboard') + ->assertVisible('header button[aria-label="Update available"]'); + + $layout = $page->script(<<<'JS' + () => { + const badge = document.querySelector('header button[aria-label="Update available"]'); + const brand = badge.closest('header > div'); + + return { + badgeRight: badge.getBoundingClientRect().right, + brandRight: brand.getBoundingClientRect().right, + brandOverflows: brand.scrollWidth > brand.clientWidth, + }; + } + JS); + + $page->screenshot(filename: 'upgrade-badge-layout'); + + expect($layout['brandOverflows'])->toBeFalse() + ->and($layout['badgeRight'])->toBeLessThanOrEqual($layout['brandRight']); +})->with(['4.3.19', '4.0.0-beta.470']);