Skip to content

Auto-configure Seerr from Wholphin server plugin#1418

Open
matschi95 wants to merge 3 commits into
damontecres:develop/server-pluginfrom
matschi95:develop/server-plugin-seerr
Open

Auto-configure Seerr from Wholphin server plugin#1418
matschi95 wants to merge 3 commits into
damontecres:develop/server-pluginfrom
matschi95:develop/server-plugin-seerr

Conversation

@matschi95

Copy link
Copy Markdown

Description

PR damontecres/jellyfin-plugin-wholphin#3 defines a new endpoint for Seerr configuration in plugin. This PR consumes this new endpoint (/wholphin/seerrsettings) to setup Seerr on first Jellyfin login. The new plugin endpoint exposes:

  • server URL
  • auth method: ApiKey, Local, Jellyfin
  • settings for each auth method

Jellyfin auth method supports useCurrentUser option, which stashes the in-memory Jellyfin password from password-based login and resuses it for automatic Seerr login.

Methods without passwords (QuickConnect) are only pre-filling the Seerr dialog with URL and user name. A manual configuration by entering the password is needed.

If Seerr is unreachable during the initial setup, credentials are persisted to retry Seerr login automatically at the next start of the app (so long until Seerr is reachable again).

Related issues

Testing

Tested with following settings in plugin and Android TV emulator:

SeerrConfig:
  serverUrl: https://seerr.example.com
  login:
    type: Jellyfin     # ApiKey | Jellyfin | Local
    jellyfin:
      useCurrentUser: true
  • Tested login via password and QuickConnect (only autofill)
  • Tested restarts of App and restarts of Emulator
  • Tested user switching

Screenshots

no changes, only that Seerr integration gets automatically configured

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-seerr branch from f6d3f96 to 5a5c0e1 Compare May 23, 2026 19:46
@MulverineX MulverineX mentioned this pull request May 28, 2026
8 tasks
@matschi95
matschi95 force-pushed the develop/server-plugin-seerr branch from 5a5c0e1 to 67c684e Compare June 1, 2026 17:09
@damontecres

Copy link
Copy Markdown
Owner

I'd like to simplify this PR & damontecres/jellyfin-plugin-wholphin#3 a bit.

Would you be okay with updating this PR so that it doesn't involve the current jellyfin user's credentials? Instead it would just read the Seerr server URL & auth type from the plugin. And if the auth type is Local or API Key, optionally, the plugin can provide those credentials that this PR reads as well.

We can discuss a more seamless jellyfin credential login separately in a follow up PR.

Consume the new /wholphin/seerrsettings endpoint to set up Seerr on first
Jellyfin login: server URL, auth method (ApiKey/Local/Jellyfin) and
credentials are pushed by the plugin so the user doesn't have to
configure Seerr manually.

Supports useCurrentUser=true for the Jellyfin auth method, which stashes
the in-memory Jellyfin password during password-based login and reuses
it for Seerr. On QuickConnect / token-based logins the password is not
available — the URL and username are pre-filled in the Add Seerr Server
dialog so the user only enters the password once.

If Seerr is unreachable during the initial setup, credentials are
persisted before the login attempt so subsequent app starts retry
automatically until Seerr is back. QuickConnect logins clear any
previously stored Jellyfin password to avoid using stale credentials.
@matschi95
matschi95 force-pushed the develop/server-plugin-seerr branch from 67c684e to 01a438d Compare June 23, 2026 18:27
@matschi95

matschi95 commented Jun 23, 2026

Copy link
Copy Markdown
Author

I have simplified the PR as requested by removing all Jellyfin user handling for Seerr. Therefore, automatic Seerr login is now only possible via an API key or a local Seerr account.

EDIT: I have also removed the Jellyfin Login in the plugin PR

Comment thread app/src/main/java/com/github/damontecres/wholphin/services/UserSwitchListener.kt Outdated
Comment thread app/src/main/java/com/github/damontecres/wholphin/services/UserSwitchListener.kt Outdated
Comment thread app/src/main/java/com/github/damontecres/wholphin/services/UserSwitchListener.kt Outdated
- Model plugin Seerr login as a sealed interface

- Move plugin Seerr restore and auto-setup into SeerrServerRepository

- Fetch plugin prefill URL on demand and persist it without auto-login

- Load Seerr dialog prefill URL via DataLoadingState

- Keep AddSeerrServerDialog URL non-nullable

- Remove obsolete ViewModel and listener state from the refactor
@matschi95

Copy link
Copy Markdown
Author

I have implemented all the requested changes in the new commit.

@damontecres damontecres left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this looks good! I need to review the plugin side again and then I'll merge both PRs.

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