From 35a8f547652e1b7869217754e4da8fb112f3606e Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Thu, 20 Nov 2025 14:37:03 +0100 Subject: [PATCH] feat: improve health status warning messages for unknown and unhealthy states MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add warning helper for 'unknown' health status - Clarifies that no health check is configured - Explains that Traefik/Caddy will still route traffic - Recommends configuring health checks for better reliability - Update warning helper for 'unhealthy' health status - Corrects misleading message that suggested resource might work - Clearly states health check is failing - Emphasizes that Traefik will NOT work with unhealthy containers - Highlights that user action is required Both warnings include links to documentation and use consistent warning icons. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- .../views/components/status/running.blade.php | 48 +++++++++++++++++-- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/resources/views/components/status/running.blade.php b/resources/views/components/status/running.blade.php index 92a04d33d..a44cc111b 100644 --- a/resources/views/components/status/running.blade.php +++ b/resources/views/components/status/running.blade.php @@ -4,6 +4,26 @@ 'lastDeploymentLink' => null, 'noLoading' => false, ]) +@php + // Handle both colon format (backend) and parentheses format (from services.blade.php) + // running:healthy → Running (healthy) + // running (healthy) → running (healthy) (already formatted, display as-is) + + if (str($status)->contains('(')) { + // Already in parentheses format from services.blade.php - use as-is + $displayStatus = $status; + $healthStatus = str($status)->after('(')->before(')')->trim()->value(); + } elseif (str($status)->contains(':') && !str($status)->startsWith('Proxy')) { + // Colon format from backend - transform it + $parts = explode(':', $status); + $displayStatus = str($parts[0])->headline(); + $healthStatus = $parts[1] ?? null; + } else { + // Simple status without health + $displayStatus = str($status)->headline(); + $healthStatus = null; + } +@endphp
@@ -12,21 +32,39 @@ @if ($title) title="{{ $title }}" @endif> @if ($lastDeploymentLink) - {{ str($status)->before(':')->headline() }} + {{ $displayStatus }} @else - {{ str($status)->before(':')->headline() }} + {{ $displayStatus }} @endif
+ @if ($healthStatus && !str($displayStatus)->contains('(')) +
({{ $healthStatus }})
+ @endif @php + $showUnknownHelper = + !str($status)->startsWith('Proxy') && + (str($status)->contains('unknown') || str($healthStatus)->contains('unknown')); $showUnhealthyHelper = !str($status)->startsWith('Proxy') && - !str($status)->contains('(') && - str($status)->contains('unhealthy'); + (str($status)->contains('unhealthy') || str($healthStatus)->contains('unhealthy')); @endphp + @if ($showUnknownHelper) + + + + + + @endif @if ($showUnhealthyHelper) + helper="Unhealthy state. The health check is failing.

This resource will NOT work with Traefik as it expects a healthy state. Your action is required to fix the health check or the underlying issue causing it to fail.

More details in the documentation.">