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

When user starts watching season N, start to monitor season N+1 #63

Open
mmgoodnow opened this issue Dec 23, 2023 · 1 comment
Open
Labels
enhancement New feature or request question Further information is requested

Comments

@mmgoodnow
Copy link

I want to make it clear that I'm submitting this issue with no expectations that it will ever be implemented. I recognize this would be a pretty significant expansion of scope, but just throwing it out there to get some opinions.

Problem

Watchlistarr monitors based on the SONARR_SEASON_MONITORING environment variable, but the only really viable one is all if you want people to be able to watch an entire series just by watchlisting. However, if they request something like NCIS and then decide they don't like it in season 1, we're left downloading the other 19 seasons.

Proposal

As part of the Discover Together features, friends can share their watch history with each other (of course, we could get this from something like Tautulli or PMS itself as well).

With this information, I think it'd be possible to monitor series incrementally. The monitoring criteria could look like something along these lines:

function shouldMonitorSeason(series: Series, seasonNumber: number) {
  const maxViewedSeason = getAllEpisodeWatchEventsFromPlex(series, peopleThatWatchlistedIt).map(h => h.seasonNumber).reduce(Math.max)
  return seasonNumber <= maxViewedSeason + 1
}

Potential problems

  • If someone watchlists something like SNL and they just want to watch the current season, not start from season 1, this would not work. But it doesn't really work within the current behavior either.
@nylonee
Copy link
Owner

nylonee commented Dec 24, 2023

This is a great idea, and we could consider implementing this in a future iteration of Watchlistarr.

The idea in theory works, we can intuit the season that somebody's watching, possibly even if they don't have the correct Discover Together permissions enabled (as long as the main user token provided is also the server owner, you can figure out who's watching what on your server).

I think we need to refine this idea a bit more, it's not as clearly black and white as just fetching a watchlist, and I'm not sure if there's a single rule that can be applied for all shows.

As a reverse proposal, we could look at deleting seasons that are below the season that the user is currently watching. So if user X watchlists show Y Seasons 1-3, and nobody else has watchlisted Y, then when X is watching season 2, we can safely delete season 1.

@nylonee nylonee added enhancement New feature or request question Further information is requested labels Dec 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants