glanceapp/glance · warning
%w: missing videos from %d channels
Error message
%w: missing videos from %d channels
What it means
After successfully fetching at least some YouTube feeds, one or more channels failed, so the widget returns the videos it has wrapped in errPartialContent with the count of failed channels. Rendering degrades to partial content instead of a hard failure.
Source
Thrown at internal/glance/widget-videos.go:212
videos = append(videos, video{
ThumbnailUrl: v.Group.Thumbnail.Url,
Title: v.Title,
Url: videoUrl,
Author: response.Channel,
AuthorUrl: response.ChannelLink + "/videos",
TimePosted: parseYoutubeFeedTime(v.Published),
})
}
}
if len(videos) == 0 {
return nil, errNoContent
}
videos.sortByNewest()
if failed > 0 {
return videos, fmt.Errorf("%w: missing videos from %d channels", errPartialContent, failed)
}
return videos, nil
}
View on GitHub (pinned to 91324e8de7)
Solutions
- Find the 'Failed to fetch youtube feed' log lines to identify which channel IDs failed
- Remove or correct the failing channel/playlist IDs in the videos widget config
- Lengthen cache time so the 30-worker burst is less frequent
Defensive patterns
Strategy: fallback
Type guard
func isPartialContent(err error) bool { return errors.Is(err, errPartialContent) } Try / catch
videos, err := widget.getVideos()
if errors.Is(err, errPartialContent) {
// videos still contains the successful feeds; render them
renderVideos(videos)
slog.Warn("some youtube feeds failed", "err", err)
return nil
} Prevention
- Validate channel/playlist IDs when adding them, and remove ones flagged in logs
- Check errors.Is(err, errPartialContent) before treating the result as a failure
- Space out fetches via longer cache times to avoid per-feed 429s
When it happens
Trigger: At least one errs[i] != nil in the per-feed loop while at least one feed succeeded: a bad channel ID, a 429 on one feed, or a deleted playlist among the configured channels.
Common situations: One stale channel ID in a long channels list; YouTube rate-limiting a subset of burst requests (30 workers hitting feeds at once).
Related errors
- %w: could not get %d watches
- %w: failed to fetch %d channels
- unexpected status code %d for %s, response: %s
- %w: %v
- no categories could be retrieved
AI-assisted analysis of glanceapp/glance@91324e8de7 (2026-08-15).
Data as JSON: /api/errors/b7bb80af476a61a5.
Report an issue: GitHub.