Does "official clients do not support third party plugins" also rule out a generic capability API? #5739
Replies: 1 comment 2 replies
|
As you said, we do not support third-party plugins/tools directly from official clients. What we mean by this is that we ONLY support the official Jellyfin API (that is part of the server source code). At the same time we're well aware that people want to customize various functionalities of Jellyfin. That's why we try to add interfaces to the server that can be implemented by plugins. An example of this is how plugins can supply metadata, lyrics and media segments. And in 12.0 plugins can take over the recommendation and search functions. These kinds of features do not need any client changes. So for your example, to integrate support with something like Jellyseerr we'd have to create an abstract "media request" API in Jellyfin first which could then be implemented by a jellyseerr plugin. |
Uh oh!
There was an error while loading. Please reload this page.
I want to check a direction before writing anything further, because I may already have my answer.
#4539 asked for Jellyseerr integration and was closed with "Official clients do not support third party plugins." I understand and agree with the reasoning behind that: the client should not carry code for one vendor's product, and that request was specifically for one product.
Before I found that issue I had already built something adjacent, so I would rather ask than assume it is covered.
What I built
A server plugin exposing a request API that is deliberately product-agnostic. The client asks the server what a provider can do, never what it is:
The client branches on those flags only. It never learns which product is behind them, and there is no product name anywhere in the client code. A 404 means no provider, and the client shows nothing, so a server without the plugin behaves exactly as it does today. I verified that by removing the plugin and comparing screens.
The plugin is at https://github.com/halstoproductions/jellyfin-plugin-requestbridge (GPL-2.0, 105 tests). A working Android TV implementation exists on a local branch: discovery, requestable items in search results, and status refresh, in about 300 lines.
The question
Is the policy about third party products, in which case a vendor-neutral capability contract might be a different conversation, or is it about anything driven by a plugin, in which case this is equally out of scope and I will stop here?
I am genuinely asking, not relitigating #4539. A clear no is a useful answer and I will take the contract to clients that do want plugin-driven features. I would rather spend one question of your time now than send an unwanted pull request later.
If the answer is "not in this form, but maybe as X", I am happy to hear what X would be.
All reactions