Skip to content

[P2] Image proxy / CDN for cover images #20

@hazeliscoding

Description

@hazeliscoding

Problem

Cover images are stored as direct AniList CDN URLs. If AniList changes CDN domains, rotates URLs, or goes down, every image in the app breaks.

Requirements

  • Option A: Proxy endpoint (GET /api/images/{anilistMediaId}/cover) that fetches and caches the image
  • Option B: Background job that downloads cover images to blob storage (S3/R2) on anime add
  • Serve images via a CDN (Cloudflare/CloudFront) with cache headers
  • Fallback placeholder image when the cover is unavailable

Acceptance Criteria

  • Cover images are served from a URL the app controls
  • AniList CDN outages don't break the app's image display
  • Images are cached with appropriate headers (long TTL, immutable)
  • Missing images show a themed placeholder

References

  • Roadmap §6 — Data Integrity & Edge Cases

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions