[PR #13227] [MERGED] Fix EPG image caching #13509

Closed
opened 2026-02-07 07:14:10 +03:00 by OVERLORD · 0 comments
Owner

📋 Pull Request Information

Original PR: https://github.com/jellyfin/jellyfin/pull/13227
Author: @Shadowghost
Created: 12/15/2024
Status: Merged
Merged: 12/31/2024
Merged by: @crobibero

Base: release-10.10.zHead: fix-schedules-direct


📝 Commits (4)

  • 9dc810c Only return cacheable images from SchedulesDirect
  • 0e0f4d4 Fix guide image update and caching
  • b16be27 Abstract image update more
  • 5a9ff79 Fixup

📊 Changes

2 files changed (+124 additions, -98 deletions)

View changed files

📝 src/Jellyfin.LiveTv/Guide/GuideManager.cs (+109 -82)
📝 src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs (+15 -16)

📄 Description

Changes

  • Only return cachable images to the ListingManager so we don't save any image URLs with API key in the database
  • Run pre-caching on all existing programs, not only updated/new ones

Issues
Fixes #13147

ToDo

  • Potentially write migration to remove all existing images referencing schedules direct, otherwise it will take 12 days for them to be removed from the database and the issue to be actually fixed.

Note
This is a workaround since the proper fix would require quite some database changes which we currently can't do in a point release due to the ongoing EFCore migration. The proper fix would entail something along these lines:

  • Extend ItemImageInfo with new fields ProviderName and RequiresToken
  • Write migration for existing data
  • Add interface for external ImageURL resolution
  • Implement Interface for SchedulesDirect
  • When getting images of an item, run the path through the providers if RequiresToken=true, provider with matching name handles resolution
  • Return that URL

🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.

## 📋 Pull Request Information **Original PR:** https://github.com/jellyfin/jellyfin/pull/13227 **Author:** [@Shadowghost](https://github.com/Shadowghost) **Created:** 12/15/2024 **Status:** ✅ Merged **Merged:** 12/31/2024 **Merged by:** [@crobibero](https://github.com/crobibero) **Base:** `release-10.10.z` ← **Head:** `fix-schedules-direct` --- ### 📝 Commits (4) - [`9dc810c`](https://github.com/jellyfin/jellyfin/commit/9dc810c012387fa2170256d14a68cc6427aae3fa) Only return cacheable images from SchedulesDirect - [`0e0f4d4`](https://github.com/jellyfin/jellyfin/commit/0e0f4d448e1aeb44019ae8ee35ea8b2b917dbfe2) Fix guide image update and caching - [`b16be27`](https://github.com/jellyfin/jellyfin/commit/b16be273b695723931952b6a7c8726a73587056f) Abstract image update more - [`5a9ff79`](https://github.com/jellyfin/jellyfin/commit/5a9ff796244b068ae867f76b315ffeda1a7178cf) Fixup ### 📊 Changes **2 files changed** (+124 additions, -98 deletions) <details> <summary>View changed files</summary> 📝 `src/Jellyfin.LiveTv/Guide/GuideManager.cs` (+109 -82) 📝 `src/Jellyfin.LiveTv/Listings/SchedulesDirect.cs` (+15 -16) </details> ### 📄 Description **Changes** * Only return cachable images to the `ListingManager` so we don't save any image URLs with API key in the database * Run pre-caching on all existing programs, not only updated/new ones **Issues** Fixes #13147 **ToDo** * Potentially write migration to remove all existing images referencing schedules direct, otherwise it will take 12 days for them to be removed from the database and the issue to be actually fixed. **Note** This is a workaround since the proper fix would require quite some database changes which we currently can't do in a point release due to the ongoing EFCore migration. The proper fix would entail something along these lines: * Extend `ItemImageInfo` with new fields `ProviderName` and `RequiresToken` * Write migration for existing data * Add interface for external ImageURL resolution * Implement Interface for `SchedulesDirect` * When getting images of an item, run the path through the providers if `RequiresToken=true`, provider with matching name handles resolution * Return that URL --- <sub>🔄 This issue represents a GitHub Pull Request. It cannot be merged through Gitea due to API limitations.</sub>
OVERLORD added the pull-request label 2026-02-07 07:14:10 +03:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#13509