-
-
Notifications
You must be signed in to change notification settings - Fork 546
fix(jellyfin-scanner): use service instance for 4k availability detection #2227
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
f2c0f88 to
d02906d
Compare
|
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
…tion when 4k services are enabled, jellyfin scanner will now check which arr instance has the file todetermine availability tier instead of relying solely on resolution detection. This should fix theincorrecta availability status when a 4k request results in a lower resolution file. Fallbacks tooriginal resolution based detection when media not found. fix #1744
d02906d to
09233a3
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes a bug in the Jellyfin scanner where 4K requests that resulted in lower resolution files (e.g., 1080p while awaiting 4K releases) were incorrectly marked as available to all users. The fix introduces service-based availability detection by querying Radarr/Sonarr instances to determine which tier owns each file, with fallback to resolution-based detection for manually added media.
- Adds
ServiceAvailabilityCheckerclass to query Radarr/Sonarr instances and determine availability based on service instance rather than file resolution - Integrates service-based detection into Jellyfin scanner for both movies and TV shows with caching support
- Removes outdated TODO comment explaining the exact issue this PR addresses
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 17 comments.
| File | Description |
|---|---|
| server/lib/scanners/serviceAvailabilityChecker.ts | New module implementing service-based availability checking with caching for movies and TV shows |
| server/lib/scanners/jellyfin/index.ts | Integrates serviceAvailabilityChecker for 4K detection, adds cache clearing on scan start, removes resolution-based detection TODO |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Description
When a 4K request results in a lower resolution file (e.g., 1080p while waiting for a 4K release), the Jellyfin scanner previously used resolution to determine availability, incorrectly marking these files as
Available. This caused non-4K users to see phantom availability for content only in the 4K library.This PR adds
ServiceAvailabilityCheckerthat queries Radarr/Sonarr instances to determine which tier has the file based on which instance it came from, not resolution. Falls back to resolution-based detection for manually added media. No impact on users without 4K instances configured.How Has This Been Tested?
This has not been tested by me.
Screenshots / Logs (if applicable)
Checklist:
pnpm buildpnpm i18n:extract