Skip to content
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

Open
wants to merge 9 commits into
base: develop
Choose a base branch
from

Conversation

Fallenbagel
Copy link
Owner

@Fallenbagel Fallenbagel commented Mar 13, 2024

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:
image
Setup Page after selecting Jellyfin:
image
Setup Page after selecting Emby:
image

To-Dos

  • Successful build yarn build
  • Translation keys yarn i18n:extract
  • Database migration (if required)

Issues Fixed or Closed

  • Fixes #XXXX

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`)
@Fallenbagel Fallenbagel changed the title feat: server type setup depracting the environment variable feat: server type setup deprecating the environment variable Mar 13, 2024
…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)
@Fallenbagel Fallenbagel changed the title feat: server type setup deprecating the environment variable feat: Jellyfin/Emby server type setup Mar 13, 2024
@Fallenbagel Fallenbagel requested a review from Jumail March 13, 2024 23:43
Jumail
Jumail previously approved these changes Mar 17, 2024
Copy link
Collaborator

@Jumail Jumail left a comment

Choose a reason for hiding this comment

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

Everything looks good!

@github-actions github-actions bot added the merge conflict Cannot merge due to merge conflicts label May 23, 2024
Copy link

This pull request has merge conflicts. Please resolve the conflicts so the PR can be successfully reviewed and merged.

@sgtcoder
Copy link

Thank you for this. How can I help you on this and test?

@Fallenbagel
Copy link
Owner Author

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)

@sgtcoder
Copy link

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.

@Fallenbagel
Copy link
Owner Author

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 :)

@sgtcoder
Copy link

Sounds good, even better. Let me know when that's ready. I assume it is, but do you have the docker tag?

@Fallenbagel
Copy link
Owner Author

Sounds good, even better. Let me know when that's ready. I assume it is, but do you have the docker tag?

#773 (comment)

@JaidenW
Copy link

JaidenW commented Jun 5, 2024

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

@Fallenbagel
Copy link
Owner Author

Fallenbagel commented Jun 5, 2024

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merge conflict Cannot merge due to merge conflicts
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants