[FEA] server plugin support: custom home sections / custom sidebar items etc#625
[FEA] server plugin support: custom home sections / custom sidebar items etc#625kamilkosek wants to merge 25 commits intodamontecres:mainfrom
Conversation
…odel and SwitchServerViewModel
… improved clarity
|
Hi @kamilkosek, I appreciate the contribution and enthusiasm, but this idea for the server plugin needs more discussion on the goals and how & where it will integrate. There needs to be a good plan for the API between Wholphin and the plugin. Maybe in #598, can you outline the goals more? |
|
Love the idea of having custom collections in the sidebar. The only collection we ever use is the "Kid's Collection" for my children, and it would be way easier for them to be able to just select it straight from the sidebar. |
Same for me + plus I have many users which are more "streaming provider driven" e.g. " I want to watch something from Netflix" or "I know there is a show on Paramount+ , but I don´t know its name so I have to browse for it". So I have collections for every streaming provider. |
…o automaticlally populate seerr url
|
I love the idea of being able to configure the interface from the server for all users, since many people in my family don’t know how to do it or end up changing things and then complain that it doesn’t work the way it should. It would be great (I don’t know if it already does this) if certain settings could be locked from the server so they can’t be modified |
I already have a prototype with locking settings (local only) which works quite well. But I dont want to make this PR too large |
|
It also has options to see what server users watch the most and a watchlist.
Could you add StreamyStats statistics, like Streamyfin does? These include AI-based recommendations and suggest similar content based on what you watch. |
I´ll take a look into it - it should not be impossible. |
|
Can this be used for testing already? Or does it need to be merged first? |
Sure, you can test it using my forks build, see here: kamilkosek/jellyfin-plugin-wholphin#1 |
|
Would be nice to include the default "next up" time limit. |
## Description This PR adds the ability to customize the home page in-app ### Features - Add, remove, & reorder rows - Persist the configuration locally - Save the configuration to the server, allowing to pull down on other devices - Adjust view options for rows such as card height, image type, preferring series images, or aspect ratio (similar to libraries) - Pull down the web client's home rows (no plugins are supported yet!) - Preview of the home page which is usable & updated as changes are made ### Row options These are row types that can be added in-app via the UI: - Continue watching - Next up - Combined continue waiting & next up - Recently added in a library - Recently released in a library - Genres in a library - Suggestions for a library (movie & TV show libraries only) - Favorite movies, tv shows, episodes, etc Additionally, there are more row types that don't have a UI to add them (yet): - Simple query to get items from a parent ID such as a collection or playlist - Complex query to get arbitrary items via the `/Items` API endpoint ### Dev notes Settings are loaded in order: 1. Locally saved 2. Remote saved 3. Fallback to default similar to Wholphin's original home rows The remote saved settings are stored via the display preferences API. I know some server admins would prefer to push a default setup to their clients. This PR does not have that ability, but it does define a straightforward API for defining the settings. Something like the potential server plugin work started in #625 could be slimmed down to expose a URL to be added in the load order. I'm also investigating integration with popular home page plugins to allow for further customization, but will take more time. ### Related issues Closes #399 Closes #361 Closes #282 Related to #340




Description
This PR adds support for the jellyfin server side plugin to allow pushing settings and other configurable items to the client.
Current state:
✅ provide an external image as a background for the login screen
In the plugin settings on the server, you can set an external url, alpha and blur:

Once you entered the server url and connected to the server, the image is loaded and shown:

✅ Fully customizable home screen
This follows the same approach as streamyfin does, where you can configure rows which are shown on the homescreen.
In the plugin settings, you can add, remove, edit and reorder the sections to be shown on the homescreen:

The available
section typesare:✅ Customize sidebar/navigation drawer
shortcutsto customcollections, so they behave likelibrariesNotes and thoughts:
Plugin endpoint response:
Possible nav drawer structure/behavoiur:
□ Push app settings
The plugin lives here
Related issues
#598
#399
AI/LLM usage
Claude Sonnet 4.5 was used heavily to assist me.