glanceapp/glance · error · errNoContent
%w: %v
Error message
%w: %v
What it means
Returned by rssWidget.fetchItemsFromFeeds (internal/glance/widget-rss.go:158) when the worker pool itself failed before any feed was fetched (workerPoolDo returned err). This is infrastructure-level: the pool could not be started or panicked — distinct from per-feed errors 135, which are counted individually. Wrapped in errNoContent, so the RSS widget renders empty.
Source
Thrown at internal/glance/widget-rss.go:158
}
type rssFeedItemList []rssFeedItem
func (f rssFeedItemList) sortByNewest() rssFeedItemList {
sort.Slice(f, func(i, j int) bool {
return f[i].PublishedAt.After(f[j].PublishedAt)
})
return f
}
func (widget *rssWidget) fetchItemsFromFeeds() (rssFeedItemList, error) {
requests := widget.FeedRequests
job := newJob(widget.fetchItemsFromFeedTask, requests).withWorkers(30)
feeds, errs, err := workerPoolDo(job)
if err != nil {
return nil, fmt.Errorf("%w: %v", errNoContent, err)
}
failed := 0
entries := make(rssFeedItemList, 0, len(feeds)*10)
seen := make(map[string]struct{})
for i := range feeds {
if errs[i] != nil {
failed++
slog.Error("Failed to get RSS feed", "url", requests[i].URL, "error", errs[i])
continue
}
for _, item := range feeds[i] {
if _, exists := seen[item.Link]; exists {
continue
}
entries = append(entries, item)View on GitHub (pinned to 91324e8de7)
Solutions
- Restart Glance — pool startup failures are transient runtime states
- Update Glance to the latest version in case the panic/failure was fixed
- Report upstream with the wrapped %v detail and your feed list if it reproduces
- Confirm the widget config is a valid list of feed URLs (config problems normally fail earlier)
Defensive patterns
Strategy: retry
Try / catch
if _, err := widget.fetchItemsFromFeeds(); err != nil && errors.Is(err, errNoContent) {
// pool-level failure (not per-feed): restart/retry; report if persistent
} Prevention
- Treat this rare pool-level error as a restart-and-report signal
- Keep Glance updated for worker-pool fixes
- Per-feed problems surface as errPartialContent (135), not this
When it happens
Trigger: workerPoolDo returns a non-nil third return value: job scheduling failure or a panic recovered from a worker before results are collected. Per-feed HTTP/parse failures do NOT produce this error (they go to the errs slice); only a pool-wide failure does.
Common situations: Essentially an internal failure mode — a Glance bug or runtime-level issue (e.g., panic in fetchItemsFromFeedTask). Users almost always see 135/136 instead; encountering 134 alone suggests reporting upstream.
Related errors
- invalid include match: %v
- creating theme presets: %v
- %w: %v
- creating request for app access token: %v
- %w: missing %d RSS feeds
AI-assisted analysis of glanceapp/glance@91324e8de7 (2026-08-15).
Data as JSON: /api/errors/60587f8cc9a50c6d.
Report an issue: GitHub.