Mark as watched stopped working (when using Trakt)

Hello.

I noticed that for some show, many episodes were marked as unwatched even if I marked them again and again as watched for the past week.

I disabled the Trakt Scrobbler and restarted the app (IPAD) and all were marked as watched. I enable the scrobbler : All are now marked as unwatched but with like 90% watched.

That 90% felt bizarre, so I checked Trakt : The runtime for each episode in Trakt is 25min. But my medias are like 23:50.

I think that delta creates an issue that Trakt basically send to Infuse that the episode is not fully watched with only 23:50 when in fact it was watched completely locally.

Episode 1 doesn’t seem to have that issue strangely

Good find!

As suspected is a Trakt related bug.

I think that Infuse “Mark as watched” button should send to Trakt a full watched “signal” (despite the lenght of a Movie/Episode) , as a workaround for this bug.

But I don’t know how the scrobbler works, so probably I’m wrong.

EDIT: I tested The Witcher

In Trakt is 100% watched, but Infuse keeps reverting to 90% c.a (due to 4th season, the rest of the episodes are reported correctly, in Infuse)

Yeah when I look at Trakt app when I watch a show at the same time, I see the scrobbling progress bar.

I think what happens is that basically my episode from my local file stop at around ~24min and thus Trakt store somewhere that I watched 24min of it. Still, it just show “You watched it” so you lose that info, but Infuse probably retrieve that 24min divided by the theoric length which is 25min.

So I guess, either Infuse has to send to Trakt that the scrobbling is “full” so Trakt store 25min even if watched 24min on it, either Infuse has to retrieve from Trakt the 24min and compare it to its own internal length information instead of Trakt theorical information.

The fact the app is refreshing/changing those status so quickly when I chechk/uncheck scrobbling, tells me that information is already cached somewhere locally so should be an easy fix I think

After reading through all recent posts in this thread, it seems the “Mark as Watched” problem is most likely caused by a mismatch between the viewing time stored locally in Infuse and the progress data returned from Trakt (or possibly iCloud sync).

Several users have described that if you manually mark an episode as watched before it reaches 100 percent, Infuse reverts the status back to partially watched or unwatched after a short time. Watching the episode to the very end usually avoids the issue.

Based on the detailed comments in post #23 and others, the most plausible explanation is that Infuse reports an incomplete runtime to Trakt (for example 24 minutes watched of a 25 minute episode). When Trakt syncs back, Infuse compares its own total runtime against Trakt’s recorded progress, finds a mismatch, and overwrites the local “watched” flag. The same could happen with iCloud sync if the internal record does not exactly match the full duration.

In short, the watched state seems to flip because of an inconsistency between:

  1. The playback time Infuse sends to Trakt

  2. The theoretical or total length stored in Trakt

  3. The local Infuse database that revalidates this information during sync

This would explain why the issue occurs mainly when marking an episode as watched manually or stopping close to the end, and why it happens immediately after a sync refresh.

A good way to verify this theory would be to test the following:

• Watch an episode to the exact end and confirm if it stays marked correctly.

• Stop slightly before the end, mark as watched, and see if it reverts.

• Temporarily disable Trakt or iCloud sync to check if the problem disappears.

• In Trakt, check how many minutes were actually logged compared to the episode’s full runtime.

It would be helpful if Firecore could confirm whether the current logic compares absolute durations rather than just the “watched” flag from Trakt, and if this behavior is intended or a regression introduced with the 8.3 sync update.

This seems like a synchronization edge case rather than a general failure of the “Mark as Watched” function.

Yep just tried your theory and indeed, if I let one of those episode go to the end (Or just spam tapping forward so it ends by going to the end) then the episode is marked as finished correctly (and stays that way)

So maybe there’s some sync that need to happen when we pressed “Mark as Watched” so we simulate to the scrobbler that we went to the end.

Another interesting fact is that progress/watched seems related to the toggle Scrobbler ON/OFF. By switching it multiple times, I saw an episode going from 20% on OFF and 90% on ON at multiple time. The home page is not refreshed automatically but when you go in the show season view, the change is immediately applied and does not require any reload of the app.

A few extra observations ..

After a number of occasions where this sort of thing happened, I no longer trust the “Skip to next episode” button that pops up near the end of an episode. Many times I’ve used it and found later the episode I used it on not showing itself as fully watched.

I’ve had this happen at wildly different times of a program. 5 mins into the show, half way through as well as near the end. So I’m not sure it’s just that the episode is of a different length as per trakt.

Sometimes the change back to the old partly watched status is almost instantaneous and sometimes it takes a while. I’ve had situations where a program in question is showing as fully watched on both trakt and within infuse (on the home page or the TV shows top level page) but when I go to rewatch the program a few months later I find some of the episodes have reverted back to being partially watched.

Using the “mark this episode as watched” button definitely causes trakt to show it’s been watched at that time. So I’m not sure why trakt would then report to infuse it isn’t. In fact, I didn’t think trakt could report watched status’ back to infuse from what @james has said in the past.

That’s a really good observation and it actually strengthens the theory that the issue may not be with Trakt itself but within Infuse’s local watched-state handling.

If Trakt doesn’t push watched status back to Infuse (as James mentioned earlier), then the reversal must happen internally possibly triggered by iCloud sync or by Infuse’s own playback progress logic.

The “Skip to next episode” button might be the key here. If Infuse only marks an item as watched once playback reaches 100 percent, then skipping within the last few seconds could prevent the local flag from being stored even though it looks complete for a moment.

That would explain why the status sometimes reverts instantly and sometimes after a delay, and also why some episodes revert months later despite being fully watched on Trakt.

It’s starting to look like a local database or caching issue rather than a Trakt mismatch. Hopefully the devs can reproduce it by testing the skip button and partial endings with iCloud sync enabled.

Don’t forget that even an episode is watched, you might still want the scrobbler to mark it as unwatched it if it’s your second watch. So I don’t think overriding the playback state with the “Watched” status is really a solution, except if the Watched override any previous playback information (but then the datetime of that playback needs to be compared to the watched status)

How it currently works is fine. If something is watched it adds a watch to trakt but doesn’t remove any previous watches. If you mark something as unwatched infuse used to tell trakt and that would remove all of your previous watches, but @james changed this a while back and now infuse doesn’t tell trakt if you unwatch anything.

So, you can happily unwatch a whole program in infuse, while using the rewatch function on trakt and it all works as expected. You just need to go back to trakt to remove the rewatch status via the hidden items menu within the trakt settings once you finish rewatching.

Saying that, there are a couple suggestions to make things better;

When long pressing a program/season/episode is would be lovely to have a “rewatch” option, linked to the rewatch function on trakt.

It would also be great to have a “mark episode as unwatched” option when long pressing the episode watch/unwatched button. At the moment, if an episode is partly watched, you have to make it watched and then unwatched. Which means you then have to go to trakt and remove that watch.

Just wanted to chime in and say i’m having an issue as well with the indicators

Same……

Same issue here. I have to now revisit the old episodes and scrub them to 100% otherwise they never mark as complete.

Is this issue solved with 8.3.2 (tvOS) ?

No, note that this thread is still tagged as in-progress.

You can follow what is planned for upcoming updates here.

That thread show this issue is planned for 8.3.3

Hi,

Recently if I marked an episode as watched exit it out of of Infuse and come back later, the episode remains unwatched. Is anyone else having this issue?

I’m on version Pro 8.3.2 (5433) on AppleTV.

-C

I moved your post to a thread discussing this issue.

Note it’s tagged as in progress. :wink:

I had an issue where my progress of some tv show episodes was stuck at a specific timestamp even after I marked it as watched multiple times it would revert. I bowed my entire Infuse setup, reset everything including all iCloud sync storage files but it turned out it is some Trakt issue.

I came across this Trakt playback manager tool & I only had to remove the episodes where the progress was stuck and magically it worked again. I just wish I had found this earlier and had saved myself a few days of going stir crazy. Hopefully it helps some of you as well.

Removed them on Trakt?

If the watched status items show up in the Trakt playback progress manager then I would remove those there and see if that resolves your problem.