-
Notifications
You must be signed in to change notification settings - Fork 887
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
Allows sponsor segments to be watched even if Auto Skip is enabled #3116
Conversation
I agree adding |
I agree that 'b' is probably not the best key choice. It can be changed. But why do you want to remove it completely? |
That feature description is confusing to me FreeTube/src/renderer/components/ft-video-player/ft-video-player.js Lines 248 to 250 in 2cd8f0f
For the solution itself (as to make disabling auto skip easier), what about having a keyboard shortcut to disable Auto Skip for this video only? Let me know what you think |
Yes, it would probably be better to only jump back to the previous auto-skipped segment. I just fixed this. Disabling Auto Skip for the video would require the user to know in advance whether they want to watch the sponsor segments or not, otherwise they would have to press the keyboard shortcut and then go back to the segment manually. Sometimes we can start watching a video without thinking about sponsors, and when FreeTube auto-skips a sponsor segment, we'd still like to watch this skipped segment. This has happened to me several times, which is why I've implemented this keyboard shortcut. Obviously I can also add a keyboard shortcut to disable Auto Skip temporarily but perhaps a visual feedback should be added. |
Head branch was pushed to by a user without write access
I need some examples to understand this |
For example, you can start watching a video immersively, not wondering if you want to watch sponsor segments or not, or even without thinking about sponsors at all. And when FreeTube skips the first sponsor segment, you notice there's one and you might want to watch it. In this situation, I find the keyboard shortcut relevant. But maybe I'm the only one in this situation. If you really don't want it, I can remove the keyboard shortcut. |
I am certain I wouldn't want this new keyboard shortcut to be Existing shortcuts: https://docs.freetubeapp.io/usage/keyboard-shortcuts/
|
Personally, I think that the keyboard shortcut shouldn't be included until #251 is implemented but if the other reviewers agree with the shortcut then i'm okay with it being implemented |
Yes I think
OK, should I open a different PR for the keyboard shortcut? |
I agree. |
Head branch was pushed to by a user without write access
I just removed the keyboard shortcut. |
Thanks for opening this PR 😄 |
Hi, does this feature still work? While watching on firefox using sponsorblock, I use the enter key to unskip the segment to check whether the segment is worth my time, and enter again if it isn't. Often sponsors are useless and generic, and something I wouldn't ever spend money on. Some implementation like this would be extremely helpful. |
@ApurvR20 If you are using a nightly build you can seek back into the sponsor and watch it, e.g. with the arrow keys or clicking on the seek bar with a mouse. |
Allow sponsor segments to be watched even if Auto Skip is enabled
Pull Request Type
Related issue
Partial fix for #1380.
Description
Currently, when SponsorBlock is enabled with the Auto Skip option turned on, sponsor segments are automatically skipped without letting the user watch them. They have to go into the settings, disable SponsorBlock Auto Skip and then return on the video.
This PR allows the user to watch sponsor segments (even if Auto Skip is enabled) by manually seeking into them (by clicking on the progress bar or with arrow keys). A keyboard shortcut has also been added: 'b' or 'B' (may be changed). When it is pressed, the playback is moved at the beginning of the previous sponsor segment (if there is one), thus allowing the user to watch it completely if it has been auto-skipped.
Testing
I manually tested the changes in
dev:web
on videos with multiple sponsor segments. I also traced the execution to see if the code works as intended.Desktop
Additional context
There is an annoying behavior in videojs that can happen while seeking. The corresponding
seeking
event can be called after the firsttimeupdate
event on the new time. Therefore, sponsor segments can be skipped even before theseeking
event has been triggered. To deal with this problem, I used a countdown (skipCountdown
) that only skip sponsor segments after 2timeupdate
events. Note that I have never seen 2timeupdate
events triggered before theseeking
event. If it happens sometimes, then we have to increase the countdown value, or find another (better) workaround.