mirror of
https://github.com/tubearchivist/tubearchivist-jf-plugin.git
synced 2026-03-23 20:37:14 +00:00
[GH-ISSUE #32] [Bug]: Sync watch status from Jellyfin back to TA not working #26
Labels
No labels
bug
enhancement
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
tubearchivist/archived-tubearchivist-jf-plugin#26
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @arisenfromtheashes on GitHub (Dec 4, 2024).
Original GitHub issue: https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/32
Originally assigned to: @DarkFighterLuke on GitHub.
I've read the documentation
Operating System
unraid docker
Your Bug Report
Describe the bug
Failing to sync watch status from Jellyfin back to TA
Steps To Reproduce
Configured the plugin per the documentation, Library populated properly, marked an episode as watched, didnt sync on its own after some time. Tried to run the scheduled task manually and still fails. (for context i only have the JF to TA config populated and not bidirectional)
Expected behavior
Should sync the watch status over to TA and be marked with the checkbox
Relevant Jellyfin log output
Anything else?
No response
@arisenfromtheashes commented on GitHub (Dec 4, 2024):
update: so the play status does work. ie. while im watching via swiftfin on my apple tv, i can refresh TA and see the watch bar move across the video in TA at pretty much real time (refreshing once every 10 seconds or so), but a) after the video is finished, SF or JF didnt automatically mark the checkbox in its UI showing watched, and b) even after manually checking the box on the SF ATV app, the watched status still didnt sync over to TA.
@joshrivers commented on GitHub (Dec 7, 2024):
Oddly, I get no playhead sync at all...but I do get checkbox on completion. I do not, however, see any logging. (I wish I could provide better details)
@DarkFighterLuke commented on GitHub (Mar 10, 2025):
@arisenfromtheashes from the logs I see that the username you provided in the plugin settings for the JF->TA synchronization is wrong.
@Jurrer commented on GitHub (Apr 3, 2025):
Hi, I realized my issue https://github.com/tubearchivist/tubearchivist-jf-plugin/issues/44 might be related.
The input fields for the username are not working as they should.
TLDR: use the second field, first one does not work
@dannykorpan commented on GitHub (May 25, 2025):
Same problem here. Any updates?
@DarkFighterLuke commented on GitHub (May 26, 2025):
I've just released the version 1.3.7, please try with that and let me know if this bug disappeared.
@p-rintz commented on GitHub (Jun 15, 2025):
This specific issue works for me with the update.
However, the videos dont seem to get auto deleted after being watched.
@aomann commented on GitHub (Jul 2, 2025):
I am having the same issue where auto deleted isn't working.
I believe is cause since the plugin calls
SetWatchedStatusevent if the video/channel was already mark as watched.In TA the
watched_dateproperty is then reset at each sync to the current timestamp.@Jurrer commented on GitHub (Jul 2, 2025):
@aomann
I fixed similar issue recently here https://github.com/tubearchivist/tubearchivist/pull/926
The watch date was being stamped to all videos when calling /watched endpoint.
Now it's only stamped for the watched videos.
Now the plugin needs to check if the video is watched in TA, and only call
SetWatchedStatuswhen video is not watched.@bbilly1 commented on GitHub (Jul 10, 2025):
Just documenting here, how watch progress is expected to work, or how it's implemented in the web interface:
that is expected to send position updates after the first 10 seconds has passed to avoid cluttering the continue watching section.
The response you get back indicates the watched state:
the
watchedboolean will switch totrueonce TA has marked it as watched, aka after 90% playback or something...So that's all there is to it, during playback, just send regular progress requests.
that is meant from when you click in the interface to mark it as watched, that shouldn't be called during playback.
So ideally, jellyfin would do the same:
@p-rintz commented on GitHub (Jul 10, 2025):
Makes sense why Tubearchivist is no longer deleting watched videos then.
Because the plugin updates the 'watched_date' all the time for all videos.
I checked a video that I watched 2 weeks ago or so and the 'watched_date' was set to 6 minutes ago.
Not sure if it also has to do with all videos bein in the "Continue Watching" section after turning on progress syncing.
Im not sure with which criteria TubeArchivist puts videos in that section. I cannot see the position variable set for videos in that section that I never actually started.
@bbilly1 commented on GitHub (Jul 10, 2025):
Any request with a position, even a 0 (zero) position against the progress endpoint will put it into the continue watching section. The web interface starts sending progress requests after 10 seconds playback time.
There is some sanity check coming to deal with that in the API endpoint, to avoid cluttering that, for reference: https://github.com/tubearchivist/tubearchivist/issues/1009, the rest still stands, the progress endpoint is meant for regular updates during playback, the watched endpoint is for the watched state toggle in the interface.
@aomann commented on GitHub (Jul 10, 2025):
Hello, I find the proposition of @bbilly1 more elegant instead of synchronizing all videos periodically.
The only comment I have regarding the sanity check propose in : https://github.com/tubearchivist/tubearchivist/pull/926 is that it omit that someone could rewatch a video.
For example, auto delete is set after 2 days. I watch a video on day T. I rewatch the video on day T+1. The video will be deleted on D+2 and not on D+3 which, I argue, should be the case. I don’t think it’s an issue on TubeArchivist itself because the watch state would be set to false during the second playback (during progress request). However, when rewatching on Jellyfin thru this plugin, the watch state will not necessarily be set to false if no sync task occurs during playback.
@DarkFighterLuke commented on GitHub (Jul 10, 2025):
I am not understanding what the problem is and what is the cause according to you, can you please point me that out?
@Jurrer commented on GitHub (Aug 11, 2025):
@aomann The PR #926 was made because this plugin periodically synced all videos and stamped watched date to ALL videos.
I don't think there is anything to add to this logic in TA.
I agree with you.
During re-watch, a new watched date should be stamped.
If the video is re-watched and still has <90 progress, the status should be changed to not watched.
Both things should be implemented on plugin side, but it's not related to this issue. Let's open a new feature request to not clutter this thread. I'll check it in free time :)
@Jurrer commented on GitHub (Aug 11, 2025):
Fix worked for me btw. I had to delete whole plugin before update