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

Add still watching feature #4509

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

ConnorS1110
Copy link
Contributor

Changes
Monitor how many episodes have been watched in a row with no remote interaction. If 2 episodes have been watched with no interaction, a timer starts when watching the third episode. If timer runs out with no interaction, "Are you still watching prompt" appears. Another countdown starts and a progress bar fills the "No" button. When countdown ends, and a choice hasn't been selected playback ends.

Issues
Adds a feature that has been requested for 5 years now

@ConnorS1110 ConnorS1110 marked this pull request as draft March 9, 2025 05:36
@ConnorS1110
Copy link
Contributor Author

I have this like 80% done I would say, but I have hit a roadblock I could use some help with. I have the correct logic in place that will display the are you still watching screen in the correct scenario, but I can't get the actual fragment for this screen to appear. Changing the replace flag on the navigate function makes no difference. Currently just a black screen appears when trying to display the fragment, there are no errors that occur either. I largely followed the pattern used by the NextUpFragment since this is really just another variant of that screen. The playback code in general is very difficult for me to make sense of so I am hoping someone sees something I don't

@Dnkhatri
Copy link

Dnkhatri commented Mar 9, 2025

This feature might not be accepted as I think it would be preferred for this to be in the jellyfin server. So that it can be implemented by all the different client devices

@ConnorS1110
Copy link
Contributor Author

ConnorS1110 commented Mar 9, 2025

What part are you envisioning is at the server level? The logic to decide if the still watching screen should be displayed? There still would need to be changes in each of the consuming clients to display the client specific implementation of the screen and client specific implementations to notify the server if there has been any any device specific inputs to reset the counter.

@Dnkhatri
Copy link

Dnkhatri commented Mar 9, 2025

What part are you envisioning is at the server level? The logic to decide if the still watching screen should be displayed? There still would need to be changes in each of the consuming clients to display the client specific implementation of the screen and client specific implementations to notify the server if there has been any any device specific inputs to reset the counter.

Yes the logic should be decided on the server once that is implemented it can be adopted for different devices/apps to give a consistent system. @nielsvanvelzen would probably be the guy to answer this. But as far as I can tell device specific features are unlikely to get implemented.

@johnpc
Copy link

johnpc commented Mar 13, 2025

@Dnkhatri I don't think that's right - this specific feature resets the timer every time the android tv remote is used, which is not an event the server will ever be aware of. This feature definitely should be implemented on the client.

@ConnorS1110
Copy link
Contributor Author

We have discussed it on element/discord and the consensus is that there is no reason for this to be server side at all, except for user config settings to customize the conditions to trigger the screen. So this will largely stay as is

@johnpc
Copy link

johnpc commented Mar 14, 2025

Have you seen #4389? It seems to be seeking to solve the same problem.

I tried pulling both your solution and the one in #4389 and neither seemed to work right though, and also seem to introduce other buggy behavior.

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

Successfully merging this pull request may close these issues.

3 participants