From ddf36383b4e5d31d49d3f6f41f8a4d41a01902a4 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 5 Jan 2023 20:09:32 +0530 Subject: [PATCH] Dont need to fetch the current version since GitHub provides a redirecting constant download URL --- tools/cmd/update_self/main.go | 16 +++------------- 1 file changed, 3 insertions(+), 13 deletions(-) diff --git a/tools/cmd/update_self/main.go b/tools/cmd/update_self/main.go index d6f027d77..4d9d4b730 100644 --- a/tools/cmd/update_self/main.go +++ b/tools/cmd/update_self/main.go @@ -23,14 +23,6 @@ type Options struct { FetchVersion string } -func fetch_latest_version() (string, error) { - b, err := utils.DownloadAsSlice("https://sw.kovidgoyal.net/kitty/current-version.txt", nil) - if err != nil { - return "", fmt.Errorf("Failed to fetch the latest available kitty version: %w", err) - } - return string(b), nil -} - func update_self(version string) (err error) { exe := "" exe, err = os.Executable() @@ -48,19 +40,17 @@ func update_self(version string) (err error) { if version == "nightly" { rv = version } + url_base := fmt.Sprintf("https://github.com/kovidgoyal/kitty/releases/download/%s", rv) if version == "latest" { - rv, err = fetch_latest_version() - if err != nil { - return - } + url_base = "https://github.com/kovidgoyal/kitty/releases/latest/download" } + url := fmt.Sprintf("%s/kitty-tool-%s-%s", url_base, runtime.GOOS, runtime.GOARCH) dest, err := os.CreateTemp(filepath.Dir(exe), "kitty-tool.") if err != nil { return err } defer func() { os.Remove(dest.Name()) }() - url := fmt.Sprintf("https://github.com/kovidgoyal/kitty/releases/download/%s/kitty-tool-%s-%s", rv, runtime.GOOS, runtime.GOARCH) if !tty.IsTerminal(os.Stdout.Fd()) { fmt.Println("Downloading:", url) err = utils.DownloadToFile(exe, url, nil, nil)