From f83bdfc9ad5a9e1936e984e33dc99f076e150c43 Mon Sep 17 00:00:00 2001 From: xboard Date: Fri, 26 Sep 2025 19:04:17 +0800 Subject: [PATCH] fix: avoid getCurrentCommit on cache hit --- app/Services/UpdateService.php | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/app/Services/UpdateService.php b/app/Services/UpdateService.php index 2406d3c..de063cd 100644 --- a/app/Services/UpdateService.php +++ b/app/Services/UpdateService.php @@ -24,8 +24,10 @@ class UpdateService */ public function getCurrentVersion(): string { - $date = Cache::get(self::CACHE_VERSION_DATE, date('Ymd')); - $hash = Cache::get(self::CACHE_VERSION, $this->getCurrentCommit()); + $date = Cache::get(self::CACHE_VERSION_DATE) ?? date('Ymd'); + $hash = Cache::rememberForever(self::CACHE_VERSION, function () { + return $this->getCurrentCommit(); + }); return $date . '-' . $hash; } @@ -49,8 +51,9 @@ class UpdateService // Fallback Cache::forever(self::CACHE_VERSION_DATE, date('Ymd')); - Cache::forever(self::CACHE_VERSION, $this->getCurrentCommit()); - Log::info('Version cache updated (fallback): ' . date('Ymd') . '-' . $this->getCurrentCommit()); + $fallbackHash = $this->getCurrentCommit(); + Cache::forever(self::CACHE_VERSION, $fallbackHash); + Log::info('Version cache updated (fallback): ' . date('Ymd') . '-' . $fallbackHash); } public function checkForUpdates(): array