Skip to content

Add CustomEndpoint home row#1430

Open
matschi95 wants to merge 4 commits into
damontecres:develop/server-pluginfrom
matschi95:develop/server-plugin-custom-endpoint
Open

Add CustomEndpoint home row#1430
matschi95 wants to merge 4 commits into
damontecres:develop/server-pluginfrom
matschi95:develop/server-plugin-custom-endpoint

Conversation

@matschi95
Copy link
Copy Markdown

Description

This PR adds support for the CustomEndpoint implemented in damontecres/jellyfin-plugin-wholphin#4. With this it is now possible to use sections provided by jellyfin-plugin-home-sections directly in the Wholphin client (fe. My Request or Latest Movies).

Some endpoints need the userId for providing user-specific lists (fe. My Requests). Therefore the userId will always be added when calling a custom endpoint, because we can only define static items in our YAML definition.

Related issues

Testing

The feature was tested on an Android TV emulator.

For the final test I have also implemented Wholphin support in the Home-Section-Plugin on my branch develop/wholphin-plugin. With this change, I was able to push all sections provided by their plugin to our Wholphin client without writing one single line to our Wholphin Plugin Configuration YAML.

Screenshots

No changes

AI or LLM usage

This PR was developed in pair with Claude (Anthropic). I understand the code and can explain every change made in the PR. Manual end-to-end testing was performed by me on an Android TV emulator.

@matschi95 matschi95 force-pushed the develop/server-plugin-custom-endpoint branch from ac0b0da to 2ac263f Compare May 23, 2026 19:46
Comment thread app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt Outdated
Comment thread app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt Outdated
Comment thread app/src/main/java/com/github/damontecres/wholphin/services/HomeSettingsService.kt Outdated
matschi95 added 3 commits June 1, 2026 18:41
Adds a new HomeRowConfig variant `CustomEndpoint` that resolves rows by
GET-ing an arbitrary Jellyfin endpoint returning QueryResult<BaseItemDto>.
Lets third-party plugins (e.g. jellyfin-plugin-home-sections) feed rows
into Wholphin without Wholphin needing specific knowledge of them.

- Resolves both relative and absolute endpoint URLs via HttpUrl.resolve()
- Auto-injects current userId as query param (overridable per-config)
- Headers/Query are List<KeyValueEntry> to match the server-side plugin's
  XML-serializable shape
- Auth token added automatically via AuthOkHttpClient
@matschi95 matschi95 force-pushed the develop/server-plugin-custom-endpoint branch from 2ac263f to 23b6570 Compare June 1, 2026 16:42
@matschi95
Copy link
Copy Markdown
Author

I have rebased and implemented your requested changes

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants