Add watch progress saving setting to have multiple modes
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 Progressenabled before) - Never (same as
Save Watched Progressdisabled 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
Settings
Dropdown only left aligned on width < 380px (2 rows of buttons) otherwise centered like before
Testing
A. "Old" Modes
- Test
Automode acts the same as before - Test
Nevermode 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
This pull request has conflicts, please resolve those before we can evaluate the pull request.
Conflicts have been resolved. A maintainer will review the pull request shortly.
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
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
@efb4f5ff-1298-471a-8973-3d47447115dc
How about the one below? If not please tell me what works for you I can't guess~
Looks better imo
Question: do we think the option to save manual progress should be hidden for live streams?
Now dropdown style updated to
- Dropdown only left aligned on width < 380px (2 rows of buttons) otherwise centered like before
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?
(For other reviewers) The only update is Remove default value for old setting
Sorry if it's spammy