{"record":{"id":"8af409d73ca91689","repo":"glanceapp/glance","slug":"no-tags-found-for-repository-s","errorCode":null,"errorMessage":"no tags found for repository: %s","messagePattern":"no tags found for repository: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"internal/glance/widget-releases.go","lineNumber":311,"sourceCode":"\thttpRequest, err := http.NewRequest(\"GET\", requestURL, nil)\n\tif err != nil {\n\t\treturn nil, err\n\t}\n\n\tif request.token != nil {\n\t\thttpRequest.Header.Add(\"Authorization\", \"Bearer \"+(*request.token))\n\t}\n\n\tvar tag *dockerHubRepositoryTagResponse\n\n\tif len(tagParts) == 1 {\n\t\tresponse, err := decodeJsonFromRequest[dockerHubRepositoryTagsResponse](defaultHTTPClient, httpRequest)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\tif len(response.Results) == 0 {\n\t\t\treturn nil, fmt.Errorf(\"no tags found for repository: %s\", request.Repository)\n\t\t}\n\n\t\ttag = &response.Results[0]\n\t} else {\n\t\tresponse, err := decodeJsonFromRequest[dockerHubRepositoryTagResponse](defaultHTTPClient, httpRequest)\n\t\tif err != nil {\n\t\t\treturn nil, err\n\t\t}\n\n\t\ttag = &response\n\t}\n\n\tvar repo string\n\tvar displayName string\n\tvar notesURL string\n\n\tif len(tagParts) == 1 {\n\t\trepo = nameParts[1]","sourceCodeStart":293,"sourceCodeEnd":329,"githubUrl":"https://github.com/glanceapp/glance/blob/91324e8de762702e97b0ac5c8e36271d644d8642/internal/glance/widget-releases.go#L293-L329","documentation":"Returned by fetchLatestDockerHubRelease (internal/glance/widget-releases.go:311) when Docker Hub's /v2/namespaces/{ns}/repositories/{repo}/tags endpoint returns an empty results array. This is the no-tag path (repository given without ':tag'); the response decoded fine but Hub reports zero tags for the image.","triggerScenarios":"GET https://hub.docker.com/v2/namespaces/{ns}/repositories/{repo}/tags returns {results: []} — the Docker Hub repository exists but has no pushed tags yet, all tags were deleted, the namespace/repo spelling resolves to an empty placeholder, or Hub eventually-consistent indexing lags right after a first push.","commonSituations":"Tracking a brand-new image before its first tag push, a repo whose tags were cleaned out, transposed characters in namespace/name that happen to match an unused namespace, or expecting a tag immediately after pushing without waiting for Hub to index it.","solutions":["Verify tags exist at hub.docker.com/r/{namespace}/{repository}/tags","Fix namespace/repository spelling in glance.yml","If the tag just was pushed, wait for the next widget refresh — Hub indexing can lag","Track a specific tag instead ('repo:1.27') — the specific-tag path errors differently and pinpoints whether the tag itself is missing"],"exampleFix":null,"handlingStrategy":"validation","validationCode":"// Pre-check tags exist on Docker Hub\nurl := fmt.Sprintf(\"https://hub.docker.com/v2/namespaces/%s/repositories/%s/tags\", ns, repo)\n// results empty => will hit \"no tags found\"","typeGuard":null,"tryCatchPattern":"if err != nil && strings.Contains(err.Error(), \"no tags found for repository\") {\n    // verify namespace/name spelling on hub.docker.com\n}","preventionTips":["Confirm tags exist on the Hub UI before adding an image","Pin a specific tag to get clearer errors","Wait for Hub indexing on brand-new images"],"tags":["dockerhub","releases","empty-result"],"backgroundTag":null,"analyzedSha":"91324e8de762702e97b0ac5c8e36271d644d8642","analyzedAt":"2026-08-15T14:12:54.279Z","schemaVersion":2},"datasetVersion":"2026-08-15T17:31:12.345Z"}