insidegui / WWDC

The unofficial WWDC app for macOS
https://wwdc.io
BSD 2-Clause "Simplified" License
8.6k stars 777 forks source link

Changing Watched / Unwatched session status update filter until relaunch #574

Closed chrislconover closed 5 years ago

chrislconover commented 5 years ago

Context:

Left index view provides a context menu for setting watched / unwatched status, which gets around known bugs in watched status. Further, there is a watched / unwatched filter category to show and hide these sessions.

What should happen:

With "watched" filter selected, using the context menu to mark a session as watched should remove it from the index.

What happens:

The watched status seems to only be detected by the search filter upon relaunch.

How to test:

In the left / index column, select the unwatched filter. Then the context menu using a two-finger click (note that the standard control-click is broken, per another bug), and select "mark as watched".

Note that even after marking the session as watched, it remains in the list.

insidegui commented 5 years ago

I couldn't reproduce this building from master. Can you check @allenhumphreys ?

allenhumphreys commented 5 years ago

It's very possible the user is experiencing the persistence of an item triggered by whether it is in the active player. Additionally, the "watched" status is based solely on the current progress. So if you're watching a video and it is not past the 97% limit we use and you mark it as "watched" the progress will be quickly updated to match the currently playing progress and it will then no longer be considered "watched".

Here's an example of the auto-updating filter working as expected: filtering

And here is an example of playback overriding the "watched" status of a particular session: playbackinterference

There's a pretty complicated interplay with the data models, iCould syncing, and the UI on this particular topic and I really think this edge case is ok.

insidegui commented 5 years ago

I think the case where a video was manually marked as watched could have some special handling so it doesn't get overridden by the player, but that would require decoupling the progress from the watched/unwatched state so I don't think it's worth the hassle.

Assuming the case reported was caused by one of the examples given by @allenhumphreys, I'm going to close this issue.

allenhumphreys commented 5 years ago

that would require decoupling the progress from the watched/unwatched state so I don't think it's worth the hassle.

Agreed