FreeTube icon indicating copy to clipboard operation
FreeTube copied to clipboard

Add watch progress saving setting to have multiple modes

Open PikachuEXE opened this issue 10 months ago • 11 comments

Pull Request Type

  • [ ] Bugfix
  • [x] Feature Implementation
  • [ ] Documentation
  • [ ] Other

Related issue

N/A

Description

There are times I want to skip a video in the middle but want to watch later without resuming And I rarely need to save progress (except a few long videos per week) This PR makes progress saving setting to have a new mode, now as:

  • Auto (same as Save Watched Progress enabled before)
  • Never (same as Save Watched Progress disabled before)
  • Semi-Auto (copied from tooltip text: Auto = Save on every video page exit, when video ended and error encountered (e.g. ratelimited and watch session expired). Semi-auto = Like Auto except on video page exit and can save progress manually via a button located beneath the video player.

Also updated video page action buttons layout to deal with all buttons visible and window with small width (See screenshots

Screenshots

New button on video page image image image

Settings image image

Dropdown only left aligned on width < 380px (2 rows of buttons) otherwise centered like before image image image

Testing

A. "Old" Modes

  • Test Auto mode acts the same as before
  • Test Never mode acts the same as before

B. New Mode

  • Update new setting to Semi-auto
  • Play any video, confirm new button & save progress at timestamp A, exit at timestamp B and ensure progress saved on A not B
  • Play any video, confirm progress saved when video ended (not on video page exit)
  • No idea how to test on error progress saving, add code to make it happen?

C. Setting migration

  • Checkout dev
  • Update settings to have {"_id":"saveWatchedProgress","value":false}
  • Checkout PR
  • Run app and ensure new setting set to Never (testing for Auto is optional coz it's default)

Desktop

  • OS:
  • OS Version:
  • FreeTube version:

Additional context

PikachuEXE avatar Feb 05 '25 01:02 PikachuEXE

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Feb 20 '25 00:02 github-actions[bot]

Conflicts have been resolved. A maintainer will review the pull request shortly.

github-actions[bot] avatar Feb 20 '25 00:02 github-actions[bot]

Hmm this PR could close issue #447 and #609 if i read the descriptions of the issues correctly. Not sure about #964 though but maybe solutions from comments in #609 could be directed to that issue?

Thoughts?

Settings 409787999-161aaa1b-7a4a-48af-8f35-f99e97eaa486

Idk why but i dont like the placement of the dropdown at all it looks so out of place compared to all other settings. Are there other ways to style this to look "better"

https://github.com/FreeTubeApp/FreeTube/issues/447 seems to be wanting time length based auto saving switch, https://github.com/FreeTubeApp/FreeTube/issues/609 for percentage based https://github.com/FreeTubeApp/FreeTube/issues/964 seems to be similar to 447 but for much shorter time

This PR helps but not sure if that's entirely what they want

PikachuEXE avatar Feb 26 '25 00:02 PikachuEXE

@efb4f5ff-1298-471a-8973-3d47447115dc How about the one below? If not please tell me what works for you I can't guess~ image image

PikachuEXE avatar Feb 26 '25 01:02 PikachuEXE

Looks better imo

Question: do we think the option to save manual progress should be hidden for live streams?

MarmadileManteater avatar Mar 11 '25 16:03 MarmadileManteater

Now dropdown style updated to

  • Dropdown only left aligned on width < 380px (2 rows of buttons) otherwise centered like before image image image

PikachuEXE avatar Mar 11 '25 21:03 PikachuEXE

Updated to hide progress saving button on live/upcoming to be consistent with checks in actual progress saving

i.e. if (this.isUpcoming || this.isLive)

Question: do we think the option to save manual progress should be hidden for live streams?

PikachuEXE avatar Mar 11 '25 22:03 PikachuEXE

(For other reviewers) The only update is Remove default value for old setting Sorry if it's spammy image

PikachuEXE avatar Mar 17 '25 08:03 PikachuEXE