Support Rutube via video services#2496
Open
Vsnegovik wants to merge 8 commits into
Open
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
To test this pull request, follow the instructions in the wiki.
Tested on Chrome 147.0.7727.56
Summary
This PR adds initial Rutube support through a new
videoServicesabstraction.Rutube-specific logic is isolated under
src/videoServices/rutube, while the parent module only selects the active service. This keeps the existing YouTube flow mostly untouched and gives us a place to add other services later.What changed
API note
Rutube support currently uses
sponsorblock.futuba.ru, which is a third-party API and not the official SponsorBlock backend.The API server idea was based on the existing SponsorBlock for Rutube userscript published on Greasy Fork.
Because this third-party API does not support SponsorBlock categories or voting, all Rutube segments are currently displayed with the same color, even when different categories are selected, and segment voting is disabled.
This is the main review question: whether this dependency is acceptable.
Permissions impact
This PR adds new required host permissions for Rutube pages and
sponsorblock.futuba.ru, and injects the content script on Rutube pages.This increases the extension permission surface. To avoid forcing these permissions onto all users, we can make Rutube optional or ship a separate build.
Possible compromises
Closes #1787