mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-01-23 23:20:51 +01:00
[Issue]: Images resolved from the "Edit Images" modal aren't using the provider #6038
Labels
No labels
area:database
awaiting-feedback
backend
blocked
breaking change: web api
bug
build
ci
confirmed
discussion needed
dotnet future
downstream
duplicate
EFjellyfin.db
enhancement
feature
future
github-actions
good first issue
hdr
help wanted
invalid
investigation
librarydb
live-tv
lyrics
media playback
music
needs testing
nuget
performance
platform
pull-request
question
regression
release critical
requires-web
roadmap
security
security
stale
support
syncplay
ui & ux
upstream
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference: starred/jellyfin#6038
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @revam on GitHub (Jun 20, 2024).
Please describe your bug
Follow up for #12074.
Currently the resolution of remote images provided by plugins are handled differently in two places;
If a remote image is acquired internally in Jellyfin it will ask the provider to fetch the image for us. As seen here and here.
If a remote image is asked by a client to be added to an item, it will always be downloaded using a standard HTTP client. As seen here. I'll also note that the client is sending the image url, provider name, and image type with each request. As seen here.
@thornbill pointed out that https://github.com/jellyfin/jellyfin/security/advisories/GHSA-rgjw-4fwc-9v96 existed in the matrix dev. channel, so the new solution must be resistant to this attack vector.
@cvium mentioned in https://github.com/jellyfin/jellyfin/pull/12074#issuecomment-2174448293
This issue exists to find the best way to solve it if cvium's solution is not enough, or for somebody qualified to undertake the "pretty big API breakage change" to have a reference and/or reminder that it needs fixing at some point.
Reproduction Steps
Context: Install an image provider that uses local images fetched from another local server. Make sure Jellyfin is using one route to the server that it's clients cannot resolve, and versa visa. Images returned from the provider is directly resolvable by Jellyfin's clients, but not by Jellyfin itself as a result, but the provider is able to resolve the image for Jellyfin.
What works:
Open any entity in jellyfin.
Remove any existing images on the entity.
Click "Refresh metadata", then "Search for missing metadata" or "Replace all metadata", and make sure to enable "Replace existing images", to force it to download images.
Let it run.
No errors in the UI, and the log is not filled with errors
The entity have images again.
What doesn't work:
Open any entity in Jellyfin
Remove any existing images on the entity.
Open "Edit Images", followed by searching for new images. Observe that the images are properly displaying in the "Search" modal.
Press "Download" on any of the images.
It errs out on the server side and the UI doesn't properly get rid of the loading animation.
Refresh to see that you still don't have images in the UI (since it erred out).
Jellyfin Version
10.9.0
if other:
No response
Environment
Jellyfin logs
FFmpeg logs
No response
Please attach any browser or client logs here
No response
Please attach any screenshots here
No response
Code of Conduct
@jellyfin-bot commented on GitHub (Oct 19, 2024):
This issue has gone 120 days without an update and will be closed within 21 days if there is no new activity. To prevent this issue from being closed, please confirm the issue has not already been fixed by providing updated examples or logs.
If you have any questions you can use one of several ways to contact us.