Design for "Remove From Continue Watching" #50
Replies: 10 comments 49 replies
|
This path is a bit different from my implementation. I've gone down the route of simply removing the item from Continue Watching without resetting the user's position in the piece of media. |
|
I'd love to see this extended to "Remove from Next Up" if there's an appetite for that. |
|
@cvium Why did you reopen this discussion? Was there something you'd like to add? |
|
What is the benefit of this over just marking the item as played via the check icon? |
This appears to be achievable right now by making a POST request to Would this be an acceptable solution? |
|
Hi everyone, I'm a software engineer who's just moving to Jellyfin after all the recent Plex changes. I'm looking to get involved in contributing, and this issue seemed a good one to look at seeing as there's high community demand and ongoing discussion for the last few years on the best way to implement it to minimise technical debt and unnecessary complexity. I'm summarising some key information below, please do correct me if I've misunderstood or misrepresented something:
I'd like to propose a middle-ground approach, where we store CW as a separate table. Instead of a suppression flag or wiping the resume point, Continue Watching could be an explicit per-user list:
This would address several of the concerns I've seen:
I anticipate this would have minimal impact on the server-side.
I’m happy to prototype this and open a draft PR so the team can see the diff size in real terms. Does this feel like a worthwhile compromise, or are there blockers I’m overlooking? I'm also conscious that I've spent very little time in this codebase so I may be mis-interpreting or mis-remembering some of the current architecture or functionality. Thanks for considering! |
|
Hi all, I wanted to return to this topic. I think @jcreek's proposal is reasonable, especially now that the rewrite to EFCore is done. I was hoping to get some feedback from @JPVenson or @thornbill on this approach, and whether you'd still prefer to hold off until more of the existing code is overhauled? This feature is pretty important to me personally (it's one of the reasons I'm still hesitant to fully migrate to Plex), so I'm happy to contribute wherever I can if you are open to draft PRs for this feature. |
|
I'm also still very happy to work on this 😄 |
|
As a recent Plex migrant, this not being a feature already is honestly the one thing that keeps me from loving Jellyfin outright, happy to see that other people seem to agree. Now hopefully it can be closer to reality after v12 releases. 😊 The table posted by jcreek looks about right, it's an optimal way to handle the flags or db entries |
|
Just as a headsup #136 also includes a full implementation proposal for this feature alongside the rewritten watched tracking |
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
Here is the write up of the current design we have for implementing this feature.
This seems pretty straight forward.
We have looked into how to implement this feature and have a few concerns:
It seems we would need to modify the "InternalItemsQuery" object to be able to include this flag.
I assume we would also need to modify the SqliteItemReposity class to modify the generation of the query.
An alternative to modifying InteralItemsQuery would be to separately get a list of guids that have the exclude flag for the current user
and include them in the "ExcludeItemIds" property of the query. This might be more straight forward if there is a way to do a more manual sql query to get the list of guids?
An alternative to the flag design as a whole would be to instead offer the user the option to reset the watch time.
This would remove the need to make any modifications to the database or query generation.
The advantage of the flag would be to keep the users current watch position but still exclude it.
All reactions