Skip to content

Image refresh can leave 2x3 placeholder posters; GelatoImageProvider.GetImageResponse throws NotImplementedException #167

Description

@0oAstro

Environment

  • Gelato: v0.26.15.1
  • Jellyfin target ABI/runtime: 10.11.6
  • Addon source: Stremio/AIOStreams metadata with meta.poster URLs (some proxied through OpenPosterDB)

What happened

After catalog/library materialization, many Gelato items ended up with a primary image row but no usable poster:

  • BaseItemImageInfos.ImageType=0
  • Path like /config/data/gelato/images/<itemId>/Primary.jpg
  • dimensions 2x3
  • file missing or effectively empty/tiny

This makes Jellyfin show blank/missing posters even though the Stremio addon metadata has usable poster URLs.

Relevant Jellyfin logs

System.NotImplementedException: The method or operation is not implemented.
   at Gelato.Providers.GelatoImageProvider.GetImageResponse(String url, CancellationToken cancellationToken)

MediaBrowser.Providers.Manager.ProviderManager: Deleting previous image "/config/data/gelato/images/<itemId>/Primary.jpg"

Gelato.Filters.ImageResourceFilter: ImageFilter: upstream returned InternalServerError for item=<itemId> url="http://openposterdb:3000/<redacted>/tmdb/poster-default/...jpg"

I also checked current main and the current release source: several provider GetImageResponse(...) methods still throw NotImplementedException, including Providers/GelatoImageProvider.cs.

Expected behavior

If an addon poster URL exists, Jellyfin/Gelato should either:

  1. fetch and save a real primary image, or
  2. fail without replacing/deleting a previously working poster, and without leaving a 2x3 placeholder as the primary image.

Ideally GetImageResponse(...) should be implemented for Gelato image providers, or the image pipeline should route all image fetches through the existing ImageResourceFilter/sidecar path consistently.

Workaround used locally

I backfilled affected items by downloading posters from addon/Kitsu/TMDB/OMDb metadata and uploading them through Jellyfin's image API (POST /Items/{id}/Images/Primary with base64 body). That repaired the DB/image rows, but it does not fix the underlying refresh/provider behavior.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions