fix: avoid getCurrentCommit on cache hit

This commit is contained in:
xboard
2025-09-26 19:04:17 +08:00
parent c5ac76823d
commit f83bdfc9ad
+7 -4
View File
@@ -24,8 +24,10 @@ class UpdateService
*/ */
public function getCurrentVersion(): string public function getCurrentVersion(): string
{ {
$date = Cache::get(self::CACHE_VERSION_DATE, date('Ymd')); $date = Cache::get(self::CACHE_VERSION_DATE) ?? date('Ymd');
$hash = Cache::get(self::CACHE_VERSION, $this->getCurrentCommit()); $hash = Cache::rememberForever(self::CACHE_VERSION, function () {
return $this->getCurrentCommit();
});
return $date . '-' . $hash; return $date . '-' . $hash;
} }
@@ -49,8 +51,9 @@ class UpdateService
// Fallback // Fallback
Cache::forever(self::CACHE_VERSION_DATE, date('Ymd')); Cache::forever(self::CACHE_VERSION_DATE, date('Ymd'));
Cache::forever(self::CACHE_VERSION, $this->getCurrentCommit()); $fallbackHash = $this->getCurrentCommit();
Log::info('Version cache updated (fallback): ' . date('Ymd') . '-' . $this->getCurrentCommit()); Cache::forever(self::CACHE_VERSION, $fallbackHash);
Log::info('Version cache updated (fallback): ' . date('Ymd') . '-' . $fallbackHash);
} }
public function checkForUpdates(): array public function checkForUpdates(): array