trackma icon indicating copy to clipboard operation
trackma copied to clipboard

Rewatching status

Open FichteFoll opened this issue 5 years ago • 18 comments

Anilist has a "rewatching" status that allows you to go through episodes another time for convenient progress tracking. trackma currently does not support this state at all because shows you are rewatching do not appear anywhere. It would be nice if they were treated as "watching" and the episode tracker was working for them so I wouldn't have to update them manually.

To be clear, I don't need to set an anime's status as "rewatching" from within trackma. The usual features for watching shows would suffice.

Related: #141 (except that's precisely not what I'm requesting)

FichteFoll avatar Mar 20 '19 17:03 FichteFoll

This is something that has driven me nuts about Anilist ever since I started using it - using a series-level "Rewatch Counter" is just such a bad implementation for tracking how often you've watched a show you've seen before (I guess it's because there are no episode-level entries like in AniDB or Trakt).

I tend to rewatch series and episodes quite frequently, and my Trakt activity page, for example, is always full of entries, but my Anilist activity page is always pretty empty, because it has no real way of counting views once a series is 'Watched', or 'Episodes Watched' counter goes higher than the episode you are watching.

Ideally, each series would at least have an array of numeric variables as large as the total number of episodes, initialized to 0, with each respective entry of the array increasing by one every time an episode is marked watched, and the series marked as watched when no entry in the array = 0. That way, total viewing time and episode/series rewatches could all be tracked (there's probably a more efficient way of doing it as well, but something along those lines).

But since AniList only has a single 'Rewatches' counter variable, and, as far as I can tell, a single 'Episodes watched' counter variable per series (it can't seem to account for having only watched episodes 1, 2 and 4, for example - the counter can only be set to 4, and the assumption then is 3 was watched as well), I'm not sure how you would track rewatches, unless Trackma itself implemented an individual episode tracker db.

You could of course kind of fake it, and, once a series is marked watched, increase its 'Rewatches' counter every time the last episode is watched after that, under the assumption that you watched all the episodes up to it again as well, but that is kind of a big assumption to make.

Other than that, I'd think AniList would need to expand their own series metrics first to properly allow for per-episode tracking statistics.

purposelycryptic avatar Mar 20 '19 23:03 purposelycryptic

While I understand your position, this doesn't seem to have anything to do with what I am requesting. If you'd like trackma to somehow support your way of rewatching (that seems to frequently not be complete rewatches), you should do so in a separate issue. Or mention it on the Anilist forum/Discord.

As an aside, I'm quite satisfied with how Anilist works in that regard, although this is my first time rewatching a show since switching to it almost a year ago.

FichteFoll avatar Mar 21 '19 01:03 FichteFoll

Nah, my comment was spot-on, based on the last time I actually checked AniList's state settings for completed series - it just happens to be the case that that was quite some time ago, and it seems they've since added a "Rewatching" state to go with the "Rewatches" counter, making it somewhat more useful.

Implementing that addition was also a simpler (albeit far less functional) way of adding some support for tracking at least full-series rewatches (aside from manually increasing the counter), which in turn makes most of my earlier comment irrelevant to implementing your feature request for Trackma.

The way it used to be (just a counter on series status) would have made it very hard to implement in Trackma without changes to AniList, it just happens AniList did make a basic change that makes it much simpler.

I'd love for them to add proper detailed data for series, but that likely won't be happening any time soon, and between work, two other dev projects and a seriously bad case of Pneumonia that has had me bedridden for a month now, I'm somewhat maxed out on what I can do personally (Ideally, concentrating on not dying should be my only focus, but things never work out that way).

I'm glad AniList current tracking capability satisfies your personal requirements, I'm guessing you're not the crazy anime watcher type that has a couple thousand series in their collection, and still frequently has nothing new to watch.

purposelycryptic avatar Mar 21 '19 02:03 purposelycryptic

Implemented Rewatching status in Anilist. Please check if anything is working wonky. The tracker picks up every status except for Finished by default so it should work normally.

z411 avatar Apr 08 '19 04:04 z411

Thanks. I was looking for it in the watching tab at first, but it looks like you added this as a different category. Which is perfectly fine.

FichteFoll avatar Apr 10 '19 16:04 FichteFoll

Implemented Rewatching status in Anilist. Please check if anything is working wonky. The tracker picks up every status except for Finished by default so it should work normally.

Have some "wonkiness" to report ;-)

It looks like Trackma automatically switches series in the Rewatching state to Watching state when it scrobbles activity for them.

I initially thought that this was just how AniList handled Rewatches, and only noticed this today by sheer coincidence, due to Trackma not recognizing a series I was rewatching in Plex, forcing me to manually update my progress on AniList.

In doing so, I saw that series being rewatched are actually meant to stay in Rewatching state (It basically exists as a parallel state to the Watching state), resulting in a separate type of status update in AniList's Activity Feed, and an automatic increment to the "Total Rewatches" counter upon completion.

I took some screenshots to highlight the difference:

Both series seen here in the feed are Rewatches - Youjo Senki was manually updated, whereas Gamers! was updated by Trackma

AniList Feed

Here is Youjo Senki's AniList series page

Youjo Page

And, for comparison, Gamers! AniList series page

Gamers Page

Here are both in List Editor view

Youjo Editor

Gamers Editor

Finally, here are how they each appear in Trackma

Youjo Trackma

Gamers Trackma

So, basically, in the current version of Trackma, the Rewatching state can be set, and is recognized, but doesn't stick; as soon as any activity is scrobbled, Trackma seems to do so by changing the series state to Watching and incrementing the the episode counter. This does not allow the Rewatching state to function as intended.

What is probably needed for it to function properly is for series in the Rewatching state to use a slightly different API call from series in the Watching state, though I haven't looked at the code to see how difficult that wold be to implement (i.e., whether the current scrobble mechanic, thus far being the only one, is deeply embedded in any interdependencies that would make adding a secondary variant require larger, more wide-ranging changes).

Ideally, when the tracker identifies the first episode of a series in the Completed state being watched, it would then scrobble it as well, setting it to the Rewatching state and resetting the "Episode Progress" counter, but that is probably best left for another time in a separate Feature Request.

Sorry for poking at an issue you probably thought you'd seen the last of, and I hope you know that all your hard work is incredibly appreciated. I've unfortunately been confined to my bed for the past 2 1/2 months due to a barrage of respiratory illnesses, so on those occasional moments when my brain emerges from its mush state, I end up jumping at the chance to do anything computer-related. Hopefully this doesn't end up being too much trouble, and thanks again for everything you do :-)

purposelycryptic avatar Apr 20 '19 16:04 purposelycryptic

@purposelycryptic It doesn't bother me at all, I highly appreciate your detailed report as it helps me improve the program for everyone.

There is an automatic status change made by Trackma but only when you watch episode 1, and locally (you can see it being applied in your list even before you sync to Anilist).

I see that you switched to episode 1 of Gamers first, and then to episode 7. Was this status change made by Trackma when you switched to episode 1? Or is it being done by Anilist after you sync after watching any episode, not just 1?

If it's the former I know what the issue is and it's easily fixable (and can be worked around by disabling auto status change in options). If it's the latter it has to be investigated.

z411 avatar Apr 20 '19 20:04 z411

Gamers! was probably a bad example to use, it simply happened to be on the same screen, but there were some abnormalities that don't make it the best representative case:

I set it to Rewatching on AniList, synced Trackma with AniList and saw it in the Rewatching tab, and proceeded to watch the series through episode 7. But when I checked Trackma later, it was in the Watching tab, but the Progress counter had stopped at 1, and not scrobbled the remaining episodes.

I have had this happen before, where the tracker seemingly doesn't properly recognize one of the episodes played, and then episodes after that get ignored with the message "Not playing next episode of SHOW_NAME - Ignoring" (Or something like that). So I manually set the Progress counter to 7 and let it sync.

The odd thing then, which I had never seen before, i that the AnliList Activity update then showed "Watched episode 7 of Gamers!", where usually it would show "Watched episode 2-7 of Gamers!". I had never seen AniList leave a gap in episodes in the Activity stream before (Or even knew that it even could, since it seems to use a simple counter).

So, TL;DR, it wasn't exactly a usual rewatch.

Here is a better example from the Activity stream, where I rewatched Overlord II and Overlord III

overlord

As you can see, it looks just like a normal first-time watch (The non-highlighted series in between the two actually having been a normal first-time watch).


Anyway, to answer your question, I actually don't know, as I have Trackma set to a fairly short update delay, and, as I'm sick atm, am accessing my server via the Plex app on my Android TV box hooked to my bedroom TV, and it always takes a bit to switch over to my Steam Link so I can see the server screen.

I've temporarily disabled Auto-Send, and will do a quick test now to see where/when the change is occurring.

  • OK, so the status-change from Rewatching to Watching is done by Trackma when the series is updated after episode 1 is played (and only episode 1, just as you said).

I tested this by setting Isekai Quartet to Rewatching, watching the first episode (which triggered the status-change), setting the series back to Rewatching, and watching the second episode (no status-change), all with Auto-Send disabled. I then manually synced, and the series is still in Rewatching status both on AniList and in Trackma.

Edit:

This may be obvious from the information in the last paragraph, but in case it is not: Trackma will set a series in Rewatching status with the Progress counter at 0 to Watching if the counter is manually incremented to 1, not just if episode 1 is watched and recognized by the tracker.

This is probably a common sense thing that didn't need to be said, but whenever I think something is obvious and not needing to be stated, it invariably ends up not being obvious to someone, so I thought I'd add it JIC.

purposelycryptic avatar Apr 20 '19 22:04 purposelycryptic

Anilist joins recent activities for the same show, so in order to get the "range" display you'd need to update on every episode and not just the final progress.

FichteFoll avatar Apr 26 '19 21:04 FichteFoll

Anilist joins recent activities for the same show, so in order to get the "range" display you'd need to update on every episode and not just the final progress.

That's what I thought it should do, back when I first started using it - but if I update a show that has the "Watching" status to the latest episode watched (for example, say the counter is at 37, and I update it to 63), I still get the "Range" update on my activity feed, i e., "purposelycryptic watched episode 38 - 63 of Show_Name".

I actually like it not showing the "Range" if I haven't actually watched it (say, because the range represents a terrible filler arc I purposely avoided), it is only a pain when it happens because the tracker couldn't ID the show being played, and you only notice it much later on.

Even then, it's not that bad, as manually dropping the counter back to where it stopped being tracked, then updating the counter to the latest episode watched on the AniList site still creates a "Range" update on the feed (The only way I know of to avoid creating a "Range" when increasing the counter by more than one is actually by changing the counter in "Rewatching" state in Trackma).

purposelycryptic avatar Apr 26 '19 23:04 purposelycryptic

Implemented support for multiple start statuses. This means that when you have a show in Finished and you set the episode to 1, it should send it to Rewatching instead of Watching. It should fix the main issue. Please see if it works.

z411 avatar May 02 '19 04:05 z411

Everything confirmed as working as advertised. Except that a rewatch probably shouldn't update the start date of the show. (Anilist doesn't allow for multiple start dates. Yet?)

FichteFoll [anilist] (anime) completed >> update "Girls und Panzer" 1
Engine: Updating show Girls und Panzer to episode 1...
[D] Data: Saving queue...
[D] Data: Saving cache...
Data: Queued update for Girls und Panzer
[D] Data: Queued: my_progress -> 1
Engine: Updating show Girls und Panzer status to Rewatching...
[D] Data: Saving queue...
[D] Data: Saving cache...
Data: Queued update for Girls und Panzer
[D] Data: Queued: my_status -> REPEATING
[D] Data: Saving queue...
[D] Data: Saving cache...
Data: Queued update for Girls und Panzer
[D] Data: Queued: my_start_date -> 2019-05-02

FichteFoll avatar May 02 '19 11:05 FichteFoll

Good catch. Should we also avoid updating the finish date as well?

z411 avatar May 02 '19 11:05 z411

Yes.

FichteFoll avatar May 02 '19 11:05 FichteFoll

Currently, if I set a show to 'Rewatching', when the episode counter increments from '0' to '1', it is still automatically set to 'Watching' again. I'm guessing that is just the default behavior, since the 'Rewatching' state wasn't part of Trackma until recently, but is there any chance that could be disabled/bypassed for shows set to 'Rewatching'?

If I can help in any way, just let me know. :-)

purposelycryptic avatar Jun 02 '19 00:06 purposelycryptic

Currently, if I set a show to 'Rewatching', when the episode counter increments from '0' to '1', it is still automatically set to 'Watching' again. I'm guessing that is just the default behavior

No not at all, I don't think anyone would want that behavior! I'll set it so it bypasses this functionality if the show is already in any of the watching statuses (Watching or Rewatching). Thank you for reporting it.

z411 avatar Jun 03 '19 23:06 z411

Awesome :-)

purposelycryptic avatar Jun 05 '19 01:06 purposelycryptic

Good catch. Should we also avoid updating the finish date as well?

Well the start date is still being updated upon watching episode 1 when status is either "Completed" or "Rewatching". Compiled the current master branch as of today.

I propose that the program only updates the date if it's not already set, otherwise never touch it.

Edit: also when you manually change the status to "Rewatching" it should probably reset the progress back to 0 automatically. Or perhaps that's the intended way but apparently it's not working as it should.

ajariel avatar Jun 10 '20 11:06 ajariel