Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add watch progress saving setting to have multiple modes #6754

Open
wants to merge 4 commits into
base: development
Choose a base branch
from

Conversation

PikachuEXE
Copy link
Collaborator

Pull Request Type

  • Bugfix
  • 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 video page exit, and can save progress manually via a new button.

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

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

@FreeTubeBot FreeTubeBot enabled auto-merge (squash) February 5, 2025 01:19
@github-actions github-actions bot added the PR: waiting for review For PRs that are complete, tested, and ready for review label Feb 5, 2025
Comment on lines 44 to 49
watchedProgressSavingModeValueNamePairs() {
return [
['auto', this.$t('Settings.Privacy Settings.Watched Progress Saving Mode.Modes.Auto')],
['semi-auto', this.$t('Settings.Privacy Settings.Watched Progress Saving Mode.Modes.Semi-auto')],
['never', this.$t('Settings.Privacy Settings.Watched Progress Saving Mode.Modes.Never')],
]
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can you please split this up into two separate array like we do for the other dropdowns. If you want to group them together we can place the two arrays next to each other when we migrate the privacy settings to the composition API.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Split

@github-actions github-actions bot added PR: merge conflicts / rebase needed and removed PR: waiting for review For PRs that are complete, tested, and ready for review labels Feb 20, 2025
Copy link
Contributor

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

* development: (58 commits)
  Convert FtSubscribeButton and watch-video-info SCSS to CSS (FreeTubeApp#6814)
  Use numbers instead of strings for the DBActions and SyncEvents constants (FreeTubeApp#6815)
  Translated using Weblate (English (United Kingdom))
  Fix: search history text overflows if search term is long (FreeTubeApp#6728)
  Check if a keyboard composition session is active when pressing 'Enter' on ft-input (FreeTubeApp#6799)
  use hq img (FreeTubeApp#6826)
  Move the choose default folder logic to the main process (FreeTubeApp#6811)
  Translated using Weblate (French)
  Translated using Weblate (Turkish)
  Set process.platform at build time (FreeTubeApp#6784)
  Use logical spec for float (FreeTubeApp#6783)
  Migrate DataSettings to the composition API (FreeTubeApp#6785)
  Local API: Improve audio quality by sorting streams, highest bitrate first (FreeTubeApp#6807)
  Bump sass from 1.84.0 to 1.85.0 (FreeTubeApp#6825)
  Bump webpack from 5.97.1 to 5.98.0 (FreeTubeApp#6820)
  Bump postcss from 8.5.1 to 8.5.2 in the stylelint group (FreeTubeApp#6819)
  Bump the babel group with 2 updates (FreeTubeApp#6817)
  Bump globals from 15.14.0 to 15.15.0 (FreeTubeApp#6823)
  Bump sass-loader from 16.0.4 to 16.0.5 (FreeTubeApp#6822)
  Bump eslint from 9.20.0 to 9.20.1 in the eslint group (FreeTubeApp#6818)
  ...

# Conflicts:
#	src/renderer/components/watch-video-info/watch-video-info.scss
#	src/renderer/components/watch-video-info/watch-video-info.vue
Copy link
Contributor

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

@absidue absidue added the PR: waiting for review For PRs that are complete, tested, and ready for review label Feb 20, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
PR: waiting for review For PRs that are complete, tested, and ready for review
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants