glanceapp/glance · warning · errPartialContent

%w: could not get issues: %s

Error message

%w: could not get issues: %s

What it means

Returned by fetchRepositoryDetailsFromGithub (internal/glance/widget-repository.go:208) when the optional issue search (issues-to-show > 0) failed while core details succeeded; errPartialContent wrap, so the widget renders minus issue data. Note the in-code TODO: this assignment overwrites any earlier PR error (131), so if both PR and issue searches fail, only the issues error survives — a known defect in error accumulation.

Source

Thrown at internal/glance/widget-repository.go:208

		if PRsErr != nil {
			err = fmt.Errorf("%w: could not get PRs: %s", errPartialContent, PRsErr)
		} else {
			details.OpenPullRequests = PRsResponse.Count

			for i := range PRsResponse.Tickets {
				details.PullRequests = append(details.PullRequests, githubTicket{
					Number:    PRsResponse.Tickets[i].Number,
					CreatedAt: parseRFC3339Time(PRsResponse.Tickets[i].CreatedAt),
					Title:     PRsResponse.Tickets[i].Title,
				})
			}
		}
	}

	if maxIssues > 0 {
		if issuesErr != nil {
			// TODO: fix, overwriting the previous error
			err = fmt.Errorf("%w: could not get issues: %s", errPartialContent, issuesErr)
		} else {
			details.OpenIssues = issuesResponse.Count

			for i := range issuesResponse.Tickets {
				details.Issues = append(details.Issues, githubTicket{
					Number:    issuesResponse.Tickets[i].Number,
					CreatedAt: parseRFC3339Time(issuesResponse.Tickets[i].CreatedAt),
					Title:     issuesResponse.Tickets[i].Title,
				})
			}
		}
	}

	if maxCommits > 0 {
		if CommitsErr != nil {
			err = fmt.Errorf("%w: could not get commits: %s", errPartialContent, CommitsErr)
		} else {
			for i := range commitsResponse {

View on GitHub (pinned to 91324e8de7)

Solutions

  1. Set a GitHub token to raise search rate limits
  2. Increase widget refresh interval / page cache time
  3. Set issues-to-show to 0 if issue counts are not needed
  4. If the message appears while PRs are also missing, remember the overwrite bug — check logs for the PR failure too
Defensive patterns

Strategy: retry

Try / catch

if err != nil && errors.Is(err, errPartialContent) && strings.Contains(err.Error(), "could not get issues") {
    // NOTE: this error overwrites the PR error (in-code TODO); check logs for both
}

Prevention

When it happens

Trigger: Same failure class as the PR search: GET /search/issues?q=is:issue+is:open+repo:{repo} rate-limited (403), network failure, or malformed query — with the caveat that when PRs also failed, this message masks that fact.

Common situations: Search API rate limiting (10/min unauthenticated) hitting both issue and PR calls on the same refresh; a transient failure where the logs show two failures but the widget surfaces only the issues one.

Related errors


AI-assisted analysis of glanceapp/glance@91324e8de7 (2026-08-15). Data as JSON: /api/errors/c910f9ec231ca77a. Report an issue: GitHub.