stashapp / stash

An organizer for your porn, written in Go. Documentation: https://docs.stashapp.cc
https://stashapp.cc/
GNU Affero General Public License v3.0
8.45k stars 752 forks source link

[Bug Report] Disabling Scene Play History leaves history artifacts #5035

Open ikmckenz opened 3 days ago

ikmckenz commented 3 days ago

Describe the bug When disabling scene play history, artifacts from having it enabled are left behind and can not be updated.

To Reproduce

  1. Default behavior is with scene play history enabled
  2. Watch a video
  3. Disable scene play history
  4. Any progress bars remain frozen in place, never to be updated, play history remains, etc.

Expected behavior I feel disabling scene play history should clean out these artifacts, to truly disable it, rather than just freeze them in place.

Stash Version: (from Settings -> About): Current

sleetx commented 3 days ago

I agree that when turning off "Scene Play History", these items should be completely disabled. It makes sense for it to be an on/off switch. But I'm not sure that's how the maintainers envision this functionality. Regarding the play history, @WithoutPants commented in #4979:

The Play Count button allows for manually incrementing the play count for users that don't want it to be done automatically.

So there seems to be intent on allowing users to update Scene Play History, even when Scene Play History is disabled in the settings. This is counterintuitive and (at the very least) needs to be called out in the settings.

Also note: The Interface options help menu still refers to this as "Activity Tracking" when that phrase no longer appears in the Interface options. Reference: https://github.com/stashapp/stash/pull/4710#issuecomment-2103906761

randemgame commented 2 days ago

The history of when you watched a scene is recorded as a play/o date, either automatically or manually or both. The wording being off is a by-product of how things developed - first there was no history (i.e dates) being recorded, then they were recorded in an automatic sense, then more recently users could add and fix these dates manually.

From the other thread I'd agree a rewording of 'Enable Scene Play History' could be something like 'Automatically Increment Play History in Stash'

Distinct from this history recording is the position in a scene where you stop watching, which like most other video applications is saved and restored so that you can continue watching from the same position next time. This can be toggled with 'Always start video from beginning'. I don't think there is any way of clearing the 'artifacts' this leaves in the app, you would need to change the resume_time to 0.0 for all the affected scenes in the database.

I agree from the other thread that 'Enable Scene History' & 'Minimum Play Percent' would make more sense to group together in options, they are currently interrupted with setting the VR Tag in the settings. 'Always start video from beginning' could then be grouped with those two. (Hiding the Play/O buttons seems an entirely separate thing for user customisation though)

What is requested here I think is that toggling options we currently have in settings should clear out some of this data but I think it's a bit more involved and would need some dedicated extra settings. Which could either be-

A) Clear All History (All Individual Video Resume Times, All Individual Video Play Durations (minutes watched), All Play/O Dates (including their tally)

B) Distinguish the O/Play History and the Resume Times as separate things to clear. I don't think Play/O Date would make any sense to distinguish as they are often interconnected. The Play Duration by itself is not so distinct that it couldn't be grouped with the Play/O Date History. Here is a suggestion which would keep them as distinct things to clear-

SUGGESTION for SETTINGS:

=== History ====

Automatically Increment Play History...........................Y/N (i.e Enable Scene History) Minimum Play Percent for Play History........................X% (added 'for Play History') Always Start Video from Beginning................................Y/N (no change) ....Clear All Video Resume Times......................................[button] (either as sub-child of above or not) Clear All O/Play History.......................................................[button] + Are You Sure? Warning