-
-
Notifications
You must be signed in to change notification settings - Fork 293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Jellyfin/Emby server type setup #685
Conversation
Introduce the ability to select the media server type on the setup page. Users can now choose their preferred media server (e.g., Plex through the Plex sign-in or Emby/Jellyfin sign-in to select either Emby or Jellyfin). The selected media server type is then reflected in the application settings. This enhancement provides users with increased flexibility and customization options during the initial setup process, eliminating the need to rely on environment variables (which cannot be set if using platforms like snaps). Existing Emby users, who use the environment variable, should log out and log back in after updating to set their mediaServerType to Emby. BREAKING CHANGE: This commit deprecates the JELLYFIN_TYPE variable to identify Emby media server and instead rely on the mediaServerType that is set in the `settings.json`. Existing environment variable users can log out and log back in to set the mediaServerType to `3` (Emby).
BREAKING CHANGE: This adds a serverType to the `/auth/jellyfin` which requires a serverType to be set (`jellyfin`/`emby`)
…Type instead of strings instead of using strings now it will use MediaServerType enums for serverType
reverts the conditional render toshow the auto-request permission if the mediaServerType was set to Plex as this should be handled in a different PR and Cypress tests should be modified accordingly(currently cypress test would fail if this conditional check is there)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good!
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
Thank you for this. How can I help you on this and test? |
First we need to merge #773. Then this pr will require a refactor to support the new setting schema. Once that's done I'll release a preview tag to test this c: But for now, you could help us test #773 ;) (will create a preview tag tonight. Though make sure not to run it on prod, but we want test instances to be done with existing config so duplicate config and test as we want to see if our migration works) |
I am using Docker, so what I could do is build the image with your preview tag, spin up a new docker container with a copy of my production config folder, and test that way. |
The preview tag will already be built. You'll just have to pull it and try :) |
Sounds good, even better. Let me know when that's ready. I assume it is, but do you have the docker tag? |
|
This sounds great and i'm looking forward to this. it would be enough to get me to switch off of ombi, but why not just go all the way and have support for Emby/Jellyfin/Plex all at once. That's my current setup & that would bring this in line with Ombi's level of support |
This is not yet possible due to the way overseerr/jellyseerr works. It requires decoupling of itself to not be dependent on media servers first (sct/overseerr#3015) You can follow the issue #100 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM! 🥳
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
Let me know when ready to test pr image when available. Looks like it's |
I just published another preview, you can test it with the |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should this block on line 418 still be a TODO comment?
// TODO: If JELLYFIN_TYPE is set to 'emby' then set mediaServerType to EMBY
// if (process.env.JELLYFIN_TYPE === 'emby') {
// settings.main.mediaServerType = MediaServerType.EMBY;
// settings.save();
// }
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh yeah thanks for pointing it out. That should be removed as we are now handling that using the settingsMigrator
This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged. |
🎉 This PR is included in version 2.0.0 🎉 The release is available on:
Your semantic-release bot 📦🚀 |
* feat: add Media Server Selection to Setup Page Introduce the ability to select the media server type on the setup page. Users can now choose their preferred media server (e.g., Plex through the Plex sign-in or Emby/Jellyfin sign-in to select either Emby or Jellyfin). The selected media server type is then reflected in the application settings. This enhancement provides users with increased flexibility and customization options during the initial setup process, eliminating the need to rely on environment variables (which cannot be set if using platforms like snaps). Existing Emby users, who use the environment variable, should log out and log back in after updating to set their mediaServerType to Emby. BREAKING CHANGE: This commit deprecates the JELLYFIN_TYPE variable to identify Emby media server and instead rely on the mediaServerType that is set in the `settings.json`. Existing environment variable users can log out and log back in to set the mediaServerType to `3` (Emby). * feat(api): add severType to the api BREAKING CHANGE: This adds a serverType to the `/auth/jellyfin` which requires a serverType to be set (`jellyfin`/`emby`) * refactor: use enums for serverType and rename selectedservice to serverType * refactor(auth): jellyfin/emby authentication to set MediaServerType * fix: issue page formatMessage for 4k media * refactor: cleaner way of handling serverType change using MediaServerType instead of strings instead of using strings now it will use MediaServerType enums for serverType * revert: removed conditional render of the auto-request permission reverts the conditional render toshow the auto-request permission if the mediaServerType was set to Plex as this should be handled in a different PR and Cypress tests should be modified accordingly(currently cypress test would fail if this conditional check is there) * feat: add server type step to setup * feat: migrate existing emby setups to use emby mediaServerType * fix: scan jobs not running when media server type is emby * fix: emby media server type migration * refactor: change emby logo to full logo * style: decrease emby logo size in setup screen * refactor: use title case for servertype i18n message * refactor(i18n): fix a typo * refactor: use enums instead of numbers * fix: remove old references to JELLYFIN_TYPE environment variable * fix: go back to the last step when refresh the setup page * fix: move "scanning in background" tip next to the scanning section * fix: redirect the setup page when Jellyseerr is already setup --------- Co-authored-by: Gauthier <[email protected]>
Description
This pull request introduces a new server setup for Jellyfin/Emby users. It now mandates the selection of a serverType during the setup process for jellyseerr. Consequently, the previous reliance on an environment variable to define the server type has been deprecated due to its unreliability and hacky nature. This update offers a more dependable and definitive approach to specifying the server type for jellyseerr setup.
Furthermore, there are breaking changes to the API. The media server setup for Jellyfin/Emby users now demands the selection of a serverType (Jellyfin or Emby) during setup, specifically at the endpoint
/api/v1/auth/jellyfin
Screenshot (if UI-related)
Setup page during initial load:
Setup Page after selecting Jellyfin:
Setup Page after selecting Emby:
To-Dos
yarn build
yarn i18n:extract
Issues Fixed or Closed