From 981163973b4b33726e378d7dcf9812459efc6f60 Mon Sep 17 00:00:00 2001
From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com>
Date: Mon, 24 Aug 2026 10:52:08 +0200
Subject: [PATCH] fix(server): distinguish proxy restart and update statuses
---
.../views/components/server/status-summary.blade.php | 12 +++++++++---
tests/Feature/ServerStatusIndicatorDesignTest.php | 4 ++++
2 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/resources/views/components/server/status-summary.blade.php b/resources/views/components/server/status-summary.blade.php
index 5e732fade..8be64a771 100644
--- a/resources/views/components/server/status-summary.blade.php
+++ b/resources/views/components/server/status-summary.blade.php
@@ -6,10 +6,16 @@
@php
$serverReady = $server->isFunctional();
- $proxyUpdateAvailable = $server->proxySet()
- && ($server->hasCurrentTraefikOutdatedInfo() || $server->hasPendingProxyConfiguration());
+ $proxyConfigurationPending = $server->proxySet() && $server->hasPendingProxyConfiguration();
+ $traefikUpdateAvailable = $server->proxySet() && $server->hasCurrentTraefikOutdatedInfo();
+ $proxyUpdateAvailable = $proxyConfigurationPending || $traefikUpdateAvailable;
$proxyNeedsAttention = $server->proxySet()
&& (! in_array($proxyStatus, ['running'], true) || $proxyUpdateAvailable);
+ $proxyStatusLabel = match (true) {
+ $proxyConfigurationPending => 'Restart required',
+ $traefikUpdateAvailable => 'Update available',
+ default => str($proxyStatus ?: 'unknown')->headline(),
+ };
$sentinelNeedsAttention = $showSentinelStatus && ! $server->isSentinelLive();
[$summaryLabel, $summaryType] = match (true) {
@@ -66,7 +72,7 @@ class="listbox-option gap-2.5!" @click="open = false" role="menuitem">
'bg-error' => $proxyNeedsAttention && ! $proxyUpdateAvailable && ! in_array($proxyStatus, ['starting', 'restarting', 'stopping'], true),
])>
Proxy
- {{ str($proxyStatus ?: 'unknown')->headline() }}
+ {{ $proxyStatusLabel }}
@endif
@if ($showSentinelStatus)
diff --git a/tests/Feature/ServerStatusIndicatorDesignTest.php b/tests/Feature/ServerStatusIndicatorDesignTest.php
index 5e2b8b5fa..4b31a51d8 100644
--- a/tests/Feature/ServerStatusIndicatorDesignTest.php
+++ b/tests/Feature/ServerStatusIndicatorDesignTest.php
@@ -39,6 +39,10 @@
expect($summary)
->toContain('$server->hasCurrentTraefikOutdatedInfo()')
+ ->toContain('$proxyStatusLabel = match (true)')
+ ->toContain("\$proxyConfigurationPending => 'Restart required'")
+ ->toContain("\$traefikUpdateAvailable => 'Update available'")
+ ->toContain('{{ $proxyStatusLabel }}')
->toContain("'bg-warning' => \$proxyNeedsAttention && (\$proxyUpdateAvailable")
->toContain("'bg-warning' => \$sentinelNeedsAttention")
->not->toContain("\$server->isSentinelLive() ? 'bg-success' : 'bg-error'");