Skip to content

[Feature Request] Fetch Plex user watchlists without needing their Plex user token #1378

@hitboxr

Description

@hitboxr

Description

Currently, Jellyseerr can only fetch watchlists for Plex users who have signed in to Jellyseerr through Plex OAuth and given Jellyseerr their Plex user token. If an imported Plex user has no token (i.e. hasn't signed in manually), they are ignored and their watchlist cannot be synced:
https://github.com/fallenbagel/jellyseerr/blob/525a538f34dfec3bd41974f6b37c1077242f1987/server/lib/watchlistsync.ts#L20-L26
https://github.com/fallenbagel/jellyseerr/blob/525a538f34dfec3bd41974f6b37c1077242f1987/server/lib/watchlistsync.ts#L33-L39

This is undesirable because it requires every user to manually sign in to Jellyseerr in order to be able to use their Plex watchlist to make requests, as opposed to seamlessly integrating with Plex without any user intervention needed.

Desired Behavior

I'd like to allow my Plex users to seamlessly make requests through their Plex watchlists without ever needing to log in to Jellyseerr. This can be achieved by querying Plex's GraphQL API (as used by Watchlistarr) which would allow Jellyseerr to fetch watchlists without needing a user's Plex token. It uses the server admin's Plex token to make GraphQL requests to fetch the admin's Plex friends' watchlists.

Requirements:

  • the target user's watchlist visibility in Plex must be set such that the admin Plex account can view it (i.e. "Friends only" is fine if the target account is friends with the admin)

The relevant implementation is here: https://github.com/nylonee/watchlistarr/blob/dc9ef8521d76428127cf112ad571d2eacb65e074/src/main/scala/plex/PlexUtils.scala#L141

Watchlistarr also implements creating watchlist RSS feeds for Plex friends (which seems like great functionality to pull here) but the feature is listed as "currently broken" in the documentation with no additional info as to how it's broken. Not sure if it actually works or not.

Additional Context

I realize this is a Plex-focused feature request in a Jellyfin/Emby-focused fork, but Overseerr development seems to be completely dead at this point so I figured this was the only place for it. I'd love to try and get a PR up for this myself, but I have little to no experience with Typescript and this feels a little outside my wheelhouse. I'd love some feedback on this!

Code of Conduct

  • I agree to follow Jellyseerr's Code of Conduct

Metadata

Metadata

Assignees

No one assigned

    Labels

    awaiting triageThis issue needs to be reviewedenhancementNew feature or request
    No fields configured for Feature.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions