From abbfd60f1c6c671642fff8d3b41ad7847c0f2663 Mon Sep 17 00:00:00 2001 From: Andras Bacsai <5845193+andrasbacsai@users.noreply.github.com> Date: Fri, 12 Dec 2025 21:30:41 +0100 Subject: [PATCH] Add debug info to upgrade-status endpoint for troubleshooting MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Temporary debug fields added to identify why status returns 'none' 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 --- app/Http/Controllers/Api/OtherController.php | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/Http/Controllers/Api/OtherController.php b/app/Http/Controllers/Api/OtherController.php index c77c36d1e..35695a003 100644 --- a/app/Http/Controllers/Api/OtherController.php +++ b/app/Http/Controllers/Api/OtherController.php @@ -237,7 +237,7 @@ public function upgradeStatus(Request $request) $server = Server::find(0); if (! $server) { - return response()->json(['status' => 'none']); + return response()->json(['status' => 'none', 'debug' => 'no_server']); } $statusFile = '/data/coolify/source/.upgrade-status'; @@ -251,16 +251,16 @@ public function upgradeStatus(Request $request) ); $content = trim($content ?? ''); } catch (\Exception $e) { - return response()->json(['status' => 'none']); + return response()->json(['status' => 'none', 'debug' => 'ssh_exception', 'error' => $e->getMessage()]); } if (empty($content)) { - return response()->json(['status' => 'none']); + return response()->json(['status' => 'none', 'debug' => 'empty_content']); } $parts = explode('|', $content); if (count($parts) < 3) { - return response()->json(['status' => 'none']); + return response()->json(['status' => 'none', 'debug' => 'invalid_parts', 'content' => $content]); } [$step, $message, $timestamp] = $parts; @@ -272,11 +272,11 @@ public function upgradeStatus(Request $request) $diffMinutes = ($now->getTimestamp() - $statusTime->getTimestamp()) / 60; if ($diffMinutes > 10) { - return response()->json(['status' => 'none']); + return response()->json(['status' => 'none', 'debug' => 'stale', 'minutes' => $diffMinutes]); } } catch (\Exception $e) { // If timestamp parsing fails, treat as stale for security - return response()->json(['status' => 'none']); + return response()->json(['status' => 'none', 'debug' => 'timestamp_error', 'timestamp' => $timestamp]); } // Determine status based on step