From 8e71c8ad97a747c04a0f70d91520eeca6ae7868c Mon Sep 17 00:00:00 2001 From: henrygd Date: Sun, 22 Mar 2026 18:18:31 -0400 Subject: [PATCH] hub: don't retry update check within cache time if request fails --- internal/hub/api.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/internal/hub/api.go b/internal/hub/api.go index 9b2ec1bb..abc12516 100644 --- a/internal/hub/api.go +++ b/internal/hub/api.go @@ -18,6 +18,7 @@ import ( "github.com/pocketbase/pocketbase/core" ) +// UpdateInfo holds information about the latest update check type UpdateInfo struct { lastCheck time.Time Version string `json:"v"` @@ -125,10 +126,12 @@ func (h *Hub) getInfo(e *core.RequestEvent) error { return e.JSON(http.StatusOK, info) } +// getUpdate checks for the latest release on GitHub and returns update info if a newer version is available func (info *UpdateInfo) getUpdate(e *core.RequestEvent) error { if time.Since(info.lastCheck) < 6*time.Hour { return e.JSON(http.StatusOK, info) } + info.lastCheck = time.Now() latestRelease, err := ghupdate.FetchLatestRelease(context.Background(), http.DefaultClient, "") if err != nil { return err @@ -141,7 +144,6 @@ func (info *UpdateInfo) getUpdate(e *core.RequestEvent) error { if err != nil { return err } - info.lastCheck = time.Now() if latestVersion.GT(currentVersion) { info.Version = strings.TrimPrefix(latestRelease.Tag, "v") info.Url = latestRelease.Url