sbondCo / Watcharr

Open source, self-hostable watched list for all your content (movies, tv series, anime, games) with user authentication, modern and clean UI and a very simple setup.
https://watcharr.app
MIT License
406 stars 20 forks source link

Does not update individual episodes when updating whole series #380

Open lapius opened 6 months ago

lapius commented 6 months ago

I do not know if this is expected, but when I update any tv series (for example old tv series I have already watched) to finished, it just shows finished on tv series as general, but not on individual episodes. I could not find any similar issue to this.

Edit: another thing, I suspect that if there is tv series still going it wont update. For example new season will come out next year, and since it is already marked as finished, it wont update as not finished because new season came out?

IRHM commented 6 months ago

Hi @lapius, thank you for making an issue!

There's currently nothing that links the logic between a shows status and its episode statuses. They are both tracked independently.

If you'd like this to be a feature, I wonder what you think about a new setting we could add in. When the setting is toggled, we could set the default icon for episode statuses to the tick (for finished) when the main show has been watched. This way it can just look like all episodes have a watched status, without us having to add a bunch of rows to the database (and of course, you can still add one. like 'dropped').

I see a drawback that if you ever moved the show to 'Watching' again, the episode statuses that are just showing that icon, would be changed to the '+' icon again. Though I'm not sure if that'd be something you'd like.

What are your thoughts?

lapius commented 6 months ago

Well I would say you should look the other way around, not tv series -> episodes, but episodes -> tv series.

In my logic is that if you watch episode, you put a mark watched. When you mark all episodes as watched, then whole season becomes watched also. And if you mark only few of episodes, whole season is marked as watching automatically. If you want, you can then also override season as dropped or anything else. But mainly seasons status is based on episodes.

I'm .NET programmer, so its kind of hard to do anything here on this project, but I would do that every time you mark episode as watched, check how many episodes are watched, and if it is equal to total episodes, just automatically mark season as watched. I'm sure, there is more logic into this, but to my understanding, there shouldn't be any database rows, just editing already existing data.

As for watching multiple times, instead of boolean watched, there could be integer, or even tiny int, as I don't believe someone would watch 100+ times anything and would save some bytes. Then for watched and how many times, you could just check if its above 0. But its just suggeston.

IRHM commented 6 months ago

Hey @lapius, sorry didn't see your comment.

You make some good points, It definitely sounds like it would be helpful for some.

I'm not a big fan of it being the default behavior (just my opinion), but I am open to making a user setting for this.

We have a database row for each season and each episode that has a status/rating for each user. I originally didn't like that we would have to add a bunch of rows for the episodes when a season was marked as finished, but in retrospect it isn't that big of a deal.

RaulVasquezOnline commented 5 months ago

Other show tracking apps generally will have a prompt with options for the desired outcome.

If you click Season 3 as watched, it would then prompt to ask if you'd like to mark all episodes from previous seasons as watched (if not already checked) Perhaps this would be an implementation option?

Mostly just commenting to say thanks for working on this project. :)

IRHM commented 5 months ago

Hey, of course @RaulVasquezOnline! Thanks for your interest in the project too!

That makes a lot of sense, I'll definitely take it into consideration when implementing this. I suppose the setting I mentioned before, could control the prompt in that case, by setting a default outcome that can hide the prompt when defined by the user.

IRHM commented 3 months ago

Took a lot of thought on how I could implement this, decided that it'll be for the best that I try releasing each portion of the automations separately.

Episode automations are coming first (and soon) (need to do more testing). Pretty much whenever an episode is given a status, the server will perform some checks to see if we can automate the seasons status or shows status (when it's released, please let me know if there's anything that could be improved or if you have any questions on how it works).

Example of how activity looks (this is for the show being set to watching because an episode was given a status): image

Season and Show automations will come later.