Handle hotfix updates and stale commit cache

Treat file-only/hotfix updates (identified by commit SHA) as non-version changes and clear stale commit-cache so the UI no longer reports an available update after a hotfix. UpdateService now clears commits_behind_count and latest_remote_sha when no new commits are found. LayoutHelper and settings view consider installed_commit_sha vs latest_remote_sha and set commitsBehind to 0 when they match. NotificationService detects commit SHAs for the target version and emits a clearer "hotfix {sha}" message for file-only updates.
This commit is contained in:
Hosteroid
2026-02-11 19:24:39 +02:00
parent a7c2ac2e2b
commit 30a139d765
4 changed files with 26 additions and 1 deletions

View File

@@ -204,6 +204,13 @@ class LayoutHelper
$latestVersion = $updateSettings['latest_available_version'] ?? null;
$channel = $updateSettings['update_channel'] ?? 'stable';
$commitsBehind = (int) ($updateSettings['commits_behind_count'] ?? 0);
$installedSha = $updateSettings['installed_commit_sha'] ?? '';
$remoteSha = $updateSettings['latest_remote_sha'] ?? '';
// If installed SHA matches remote SHA, the cached commits_behind is stale
if ($installedSha !== '' && $remoteSha !== '' && str_starts_with($installedSha, $remoteSha)) {
$commitsBehind = 0;
}
$available = false;
$label = '';