matryer/xbar · error
get latest release
Error message
get latest release
What it means
Raised in Updater.getLatestRelease when the HTTP GET against u.LatestReleaseGitHubEndpoint (the GitHub releases endpoint) fails at the transport level — DNS failure, no network, TLS error, timeout — so the latest release metadata cannot be fetched and update detection (Update/HasUpdate) cannot proceed.
Source
Thrown at pkg/update/update.go:117
err = cmd.Start()
if err != nil {
if exitErr, ok := err.(*exec.ExitError); ok {
return errors.Wrapf(err, "starting new app failed: exit code %d", exitErr.ExitCode())
}
return errors.Wrap(err, "starting new app failed")
}
log.Println("waiting before terminating after update...")
time.Sleep(1 * time.Second)
log.Println("terminating after update.")
os.Exit(0)
return nil
}
// getLatestRelease gets the latest release.
func (u *Updater) getLatestRelease() (*Release, error) {
resp, err := u.Client.Get(u.LatestReleaseGitHubEndpoint)
if err != nil {
return nil, errors.Wrap(err, "get latest release")
}
defer resp.Body.Close()
if resp.StatusCode != http.StatusOK {
return nil, errors.Errorf("failed to check for updates: got %s", resp.Status)
}
b, err := io.ReadAll(io.LimitReader(resp.Body, u.DownloadBytesLimit))
if err != nil {
return nil, errors.Wrap(err, "read body")
}
var latestRelease Release
err = json.Unmarshal(b, &latestRelease)
if err != nil {
return nil, errors.Wrap(err, "marshal")
}
latestRelease.CreatedAt, err = time.Parse(time.RFC3339Nano, latestRelease.CreatedAtString)
if err != nil {
return nil, errors.Wrap(err, "time.Parse: created_at")
}View on GitHub (pinned to d624239058)
Solutions
- Verify network connectivity and that the machine can reach the GitHub API endpoint
- Check the configured LatestReleaseGitHubEndpoint URL for typos or a moved repository
- Retry the request with backoff, since transient network failures are common
- Check for proxy/firewall or DNS issues on the user's machine
- Surface a non-fatal 'update check failed' state so the app continues running the current version
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at pkg/update/update.go:117 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of matryer/xbar@d624239058 (2026-09-02).
Data as JSON: /api/errors/d82f8f262c4df33e.
Report an issue: GitHub.