Issue description:
When I stream to from Jellyfin and stop playback midway, it seems to be reported to the server as “watched” rather than “paused” / “in progress” (only tested this for Movies).
Steps to reproduce:
0. I used the Yatse’s Movies screen, but the behavior does not differ.
Start playback of a video (I used Mx Player and chose one from “Recently added movies”).
Stop playback after a few seconds.
→ Note that the correct progress is displayed in “Unfinished movies”
→ Also note that the movie is marked “Watched” in the Jellyfin Web UI.
Force a database sync in Yatse (swipe down).
→ Note that the movie is not displayed in “Unfinished movies” anymore.
→ Note that it is not listed in “Recently played movies”.
→ Note that it is marked as watched in “Recently added movies” (if not hidden).
About API, the main issue is that Yatse have no way to update the timings during playback since MxPlayer does not broadcast them, I only have the position when it ends.
Previously when setting a position then stopping Jellyfin bugged and marked the media as played as it’s internal timings did not allow such behavior. I guess it’s still the case but I can try again to find another workaround.
Just note that they do not really care about external players API issues.
MX player only reports the position when it ends, so Yatse can’t update Jellyfish in real time during playback.
When the media stop Yatse have the position sends it to Jellyfin and update it’s own database.
As long as you do not sync you see Yatse data that is correct. After the sync you see Jellyfin data that is incorrect.
Their bug was that when you say media is stopped at position X without having sending an unknown amount of intermediary position it marked the media as watched for no reason (so a bug).
Seems it’s still the case but since I now have dozens of workarounds for Jellyfin bugs I can try again to find another one for this one.